函数的缺省函数| 学习笔记

简介: 快速学习函数的缺省函数

开发者学堂课程Python入门 2020年版函数的缺省函数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10333


函数的缺省函数

默认参数的使用

参数在 python 中用法,种类很多。

如果不设置参数,就会有一个默认参数的使用

1)例如:

def say_hello(name,age):

print("大家好,我是{(,我今年岁了".format(name,age))

say_hello( 'jack ' 19)

运行结果:

大家好,我是jack,今年19岁了

一调用函数,就会被参数jack传递给name,将参数19传递给age

2def say_hello(nameage,city):

print("大家好﹐我是{},我今年岁了,我来自{}".format(nameagecity))

say_hello('jack ' , 19)

运行结果:报错

错误原因:

TypeError: say_hello() missing 1 required positional argument: 'city'需要三个参数,但是只给了两个参数。

3end 缺省参数

有些函数的参数是,如果你传递了参数,就使用传递的参数,如果没有传递参数,就使用默认的值。

例:print’hello world’

Print(‘hi’)

运行结果:Hello world

Hi

打印完hello world 就自动换行了,不换行的做法

print’hello world’end=’’

Print(‘hi’)

运行结果:hello worldhi

Print函数里end就是一个缺省参数

print’hello world’end=’   ’

Print(‘hi’)

运行结果:hello world   hi

print’hello world’,)

Print(‘hi’)

运行结果:hello world

Hi

print’hello’你好sep=”___”

Print(‘hi’)

运行结果:hello___你好

Hi

缺省参数就是提供的话就使用,不提供就是默认。定义缺省函数就是在函数声明后面直接给值,

def say_hello(nameage,city=“襄阳”):#形参city设置了一个默认值

print("大家好﹐我是{},我今年岁了,我来自{}".format(nameagecity))

say_hello('jack ' , 19)   #如果没有传递参数,会使用默认值

运行结果:

大家好,我是jack,我今年19岁了,我来自襄阳    没有传递参数就直接写襄阳,

def say_hello(nameage,city=“襄阳”):

print("大家好﹐我是{},我今年岁了,我来自{}".format(nameagecity))

say_hello('jack ' , 19)

say_hello’tony’,20,’北京#如果传递参数,就使用传递的实参

运行结果:大家好,我是tony,我今年20岁了,我来自北京

def say_hello(city=“襄阳”,nameage,):这种写法是错误的,缺省参数要放在后面,

def say_hello(nameage,city=“襄阳”):

print("大家好﹐我是{},我今年岁了,我来自{}".format(nameagecity))

say_hello(name=’tony’,age=23,city=’北京’)

say_hello(‘Jerry’age=24,city=’南京’)#可以传递单个参数,也可以使用变量赋值的形式传递,单个的形参叫做位置参数,如果有位置参数和关键字参数,关键字参数一定要放在位置参数后面,’jerry‘是位置参数,age是关键字参数,位置参数要放在关键字参数的前面。

say_hello(name=’herry,21 ,city=’成都’) 这种写法也是错误的

name 对应 name,位置参数要写在前面,写了name,就不能省略 age,顺序没有问题。

运行结果:

大家好,我是 henry,我今年21岁了,我来自成都

有的同学认为age是位置参数,另外两个是关键字参数,这种是错误的,因为age是位置参数,就必须放在最前面。

函数问题的解决

1def test( s):

print(s[2])

x = input('请输入一个内容:')

test(x)

运行结果:

请输入一个内容:hello

1

请输入一个内容:good

O

请输入一个内容:m

就会报错

def test( s=10):

print()

用缺省值就可以,缺省值不能等于10,要等于‘10,因为是将他当作字符串判断的。

相关文章
|
8月前
|
Python
Python函数默认参数设置
Python函数默认参数设置
|
7天前
|
Dart
Dart之函数(递归、匿名、自执行、可选参数、默认参数、命名参数)
Dart之函数(递归、匿名、自执行、可选参数、默认参数、命名参数)
16 0
|
2月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
53 0
|
9月前
|
Python
python之有关关键字参数,默认参数,不定长参数,位置参数的定义,区别,以及使用方法。
python之有关关键字参数,默认参数,不定长参数,位置参数的定义,区别,以及使用方法。
|
11月前
|
JavaScript
TypeScript 函数的详细使用(默认参数、可选参数、剩余参数、重载声明)
TypeScript 函数的详细使用(默认参数、可选参数、剩余参数、重载声明)
129 0
|
12月前
|
C语言
C语言函数中参数设置
C语言函数中参数设置
79 0
20.从入门到精通:参数 位置参数 关键字参数 默认参数 匿名函数 return 语句 强制位置参数
20.从入门到精通:参数 位置参数 关键字参数 默认参数 匿名函数 return 语句 强制位置参数
|
编译器 Linux C语言
参数缺省和函数重载讲解
参数缺省和函数重载讲解
86 0
【学习笔记之我要C】函数的参数与调用
【学习笔记之我要C】函数的参数与调用
79 0
函数高级 — 默认参数、占位参数、函数重载
函数高级 — 默认参数、占位参数、函数重载
111 0
函数高级 — 默认参数、占位参数、函数重载