python全栈闯关--9-函数
作者:互联网
作用
使用函数,可以提高代码的可复用性、可读性。避免重复的编写功能相同的代码。
定义
def 函数名()
函数体
def my_function(): pass def my_function(a, b, c): pass
调用
函数名()
f = 函数 名()
返回值
无返回值
无return 函数体执行完毕,自动返回
只写returen,结束一个函数
return None
无法返回值结束时,无论是否指定返回return,获取到的结束值都为None
一个返回值
return 返回值
可以返回任何数据类型
只要返回数据就可以接收
如果一个函数中有多个return,只执行一个return
多个返回值
return 返回值1,返回值2,返回值3
用多个变量接收:有多少返回值就有多少变量接收
用一个变量接收:得到一个元祖
函数体外,接收到的值为返回值组成的元祖,也可以跟返回值相同个数的变量接收
参数
实参
函数调用时的传的参数,为实参
位置参数,按照位置传递参数
关键字参数,按照关键字传递参数
位置参数和关键字参数,可以混合使用,必须先按照位置传,在按照关键字传
不能给一个变量传多个参数
形参
定义函数的使用,叫做形参
位置参数:必须传,有几个参数,传几个参数;
默认参数:关键字参数,参数名=‘默认的值‘
动态参数:
参数名前加*,习惯参数名*args
参数名前加**,习惯参数名**kwargs
顺序:位置参数,*args,默认参数,**kwargs
动态参数
站在形参的位置动态传递
*args: 可以接收按照位置参数传值,组成一个元祖
def func(*args): for i in args: print(i) func(1, 2, 3, 4, 5, 6)
**kwargs: 可以按照关键传递参数的值,组成一个字典
def func(**kwargs): for k in kwargs.items(): print(k) func(a=1, b=2, c=3)
站在实参的位置动态传递
在实参前面加*或者**,把列表或者字典打散按顺序传递
def func(*l): print(l) func(*(1, 2, 3, 4, 5))
def func(**l): print(l) func(**{'a': 1, 'b': 2, 'c': 3})
函数的注释
def func(): ''' 这个函数实现了什么功能 参数1: 参数2: :return:是字符串或列表的长度等 ''' pass
标签:return,函数,python,全栈,参数,func,返回值,闯关,def 来源: https://www.cnblogs.com/zxw-xxcsl/p/11628712.html