标签:顺序 aaa 动态 font pytho col 返回值 pass ret
def 函数名(形参): 函数体 return 返回值
结束函数体的执行,并且设定返回值
return后面不加入任何内容,默认返回None
不加return默认也是返回None
return可是返回多个值,多个值中间用逗号分隔;
def test1(): for i in range(5): pass return ‘aaa‘,‘bbb‘ print(test1())
是一个实实在在的参数,是占据内存地址的
传递参数是在调用函数的过程当中进行的
是一种形式意义的参数
在定义时是不占据内存地址
接收参数是在定义函数的过程中进行的
形参可以没有、一个或者多个;多个形参之间用逗号分隔
调用函数时根据函数定义的参数位置来传递参数
def print_hello(name, sex): sex_dict = {1: u‘先生‘, 2: u‘女士‘} print(‘hello %s %s, welcome to python world!‘ %(name, sex_dict.get(sex, u‘先生‘))) print_hello(‘tanggu‘, 1) # 两个参数的顺序必须一一对应,且少一个参数都不可以
用于函数调用,通过“键-值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。
def sum1(a, b): print(a, b) res = a + b return res # 正确示范 ret = sum1(1, 2) ret = sum1(a=1, b=2) ret = sum1(b=1 , a=2) # 错误示范 ret = sum1(1, a = 2) # 因为a同时接收了两个参数
用于定义函数,为参数提供默认值,调用函数时可传可不传该默认参数的值
def classmate(name,sex=‘男‘): print(‘%s : %s‘%(name,sex))
接收所有的位置参数
def sum(*args): n = 0 for i in args: n+=i return n print(sum(1,2,3,4))
接收的是按照位置传参的值,组织成一个元组
接收所有的关键字传参
def func(**kwargs): print(kwargs) func(a = 1,b = 2,c =3) func(a = 1,b = 2) func(a = 1)
接受的是按照关键字传参的值,组织成一个字典
*和**,也可以在函数调用的时候使用,称之为解包裹(unpacking)
1、*的解包方式
def func(*args):#站在形参的角度上,给变量加上*,就是组合所有传来的值。 print(args) func(1,2,3,4,5) l = [1,2,3,4,5] func(*l) #站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散
2、**的解包方式
def func(**kwargs): print(kwargs) func(a=1,b=2) d = {‘a‘:1,‘b‘:2} #定义一个字典d func(**d)
总结
标签:顺序 aaa 动态 font pytho col 返回值 pass ret
原文地址:https://www.cnblogs.com/guge-94/p/10431526.html