【python】-函数
1、什么是函数?
个人理解:函数很像变量。定义一个函数,内含的逻辑代码被封装。
这里打个比喻,就拿图书馆来说,图书馆要找到一本书,需要在电脑上记录一个标记,然后在放书的地方也做一个同样的标记,有人借书,管理员会告诉客户,这本书在那里。
标记就是: 内存地址
用户借书,告诉用户去哪里找这本书:就是让用户拿着这个地址去找:也就是调用函数
2. 函数的参数
函数有几种参数:
2.1、位置参数
位置参数,是必填的,调用函数时不传会报错。
我们写一个简单的函数,实现计算乘法的功能。下图中的x,y,z就是位置参数。
x,y,z叫做形参,也就是形式参数。调用函数test4时,传的1,2,3叫实参,也就是实际参数。
#位置参数。 def test4(x,y,z): #x,y,z叫形式参数 print(x) print(y) print(z) #test4(y=2,x=1) #与形参顺序无关,运行时会报错,因为少一实际参数 #test4(1,2,3) #和形式参数一一对应。x=1,y=2,z=3 test4(3,z=2,y=6) #运行时不会报错。这个就是位置参数,这个便是实际参数,调用时必须要有三个实际参数。位置可以调换
2.2.默认参数
默认值参数是非必填的,如果不填,会采用默认值。
#默认函数 def test5(x,y=2): print(x) print(y) test5(1) #输出结果x=1,y=2 #,默认函数特点,调用函数的时候,默认参数非必须传递。
2.3 、参数组
参数组的参数处用“*args”表示。参数组特点:(1)参数是非必填的;(2)没有限制参数的个数;(3)传过来的参数放到args参数里,不限格式
#参数组 def test(*args): print(args) a=test(*[1,23,4,5,6]) print(a,type(a)) def test1(x,*args): print(x) print(args) test1(1,2,3,4,5,6)
2.4、关键字参数
关键字参数用“**kwargs”表示。特点:(1)参数是非必填;(2)没有限制参数个数;(3)所传参数必须是字典格式
同样的,如果def aaa(time,**kwargs),则time参数必传。其中,time='20180912'是第一个参数time的值,因此输出kwargs时,没有time这一项。
#**kwargs :关键字参数,转换为字典的方式 def test2(**kwargs): print(kwargs) test2(name='alex',age=8,sex='F')

浙公网安备 33010602011771号