Python:初始函数
Python:初始函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
函数的定义:
#函数在定义阶段,只检测语法,不执行代码. def 函数名(参数1参数2,...): '''注释信息''' 函数体 return 返回值 定义函数的三种形式: 无参: #函数无需外部传入参数 有参: #函数体的代码,需要外部传入值的时候才使用有参函数 空函数: #结构占位
函数的调用:
函数名() #*****函数的调用,必须要准寻先定义后调用的原则 函数调用的三种形式: def foo(): print(1) return 123 直接通过函数名调用: foo() 赋值给其他变量,间接调用 res=foo() print(res) 利用函数返回值进行调用 res=foo()*10 print(res)
函数的返回值return:
调用函数的过程中,一旦执行到return,就终止函数。并且把return后的内容当作本次调用的返回值返回
函数体内可以有多个return,但只能执行一个次
返回的值,可以是任意类型,可以用逗号分隔,以元祖的形式返回多个值
可以不写return,默认返回None
函数的参数:
形参:函数定义的时候指定的参数 实参:在函数调用阶段使用的参数 固定形参: 默认参数:在定义阶段,已经为形参赋值了,在调用阶段可以不传值 注意的个问题: #1.默认参数的值,只在定义时赋值一次 #2.默认参数的值,应该是不可变类型 #3.默认参数,都必须写在非默认参数的右边,非固定参数的左边 def foo(y=10) print(y) foo() 位置形参: #位置参数是在定义阶段的解释. def foo(x,y,z) print(x,y,z) foo(1,2,3) #位置形参的默认调用方式,也叫必要实参 foo(y=2,z=3,x=1) #位置形参在调用阶段,可以叫做关键实参 非固定形参: *args: #接收形参中没有定义的任意个数的位置参数,并将其保存在元组当中 **kwargs: #接收形参中没有定义的任意个数的关键字实参,并将其保存在字典当中
形参的顺序
位置参数 *args, 默认参数,**kwargs
def func3(*args, **kwargs): print(args) print(kwargs) func3(1, 2, 3, 'alex', c=6, name='wusir', age='21') (1, 2, 3, 'alex') {'c': 6, 'name': 'wusir', 'age': '21'}
def func3(*args, **kwargs): #函数的定义的时候 * 代表聚合。 print(args) print(kwargs) func3(*[1, 2, 3],*(22, 33)) #函数的执行的时候 * 代表打散。 (1, 2, 3, 22, 33) {}
def func3(*args, **kwargs): #函数的定义的时候 * 代表聚合。 print(args) print(kwargs) func3(**{'name':"alex"},**{'age':23}) #函数的执行的时候 * 代表打散。 () {'name': 'alex', 'age': 23}