1、形参:定义函数是,小括号中的参数是用来接收使用的,在函数内部作为变量使用
2、实参:调用函数小括号中的参数是用来把数据传递到函数内部用的
3、函数返回值:在函数中使用return关键字返回结果
举个最简单的例子:
def max(a,b): //定义一个函数max
if a >b:
return a //返回值
else:
return b
q = max(3,4) //用q接收返回值的数据
print(q) //接收并打印
4、函数中的可变、不可变:
函数中可变类型:列表、字典、集合
函数中不可变类型:整数、字符串、浮点数、布尔型、元组
举个简单的例子
(1)可变类型:定义一个列表为L=[1,2,3,4,5],我现在更改列表中的L[2]=520,这时只是更改了L列表中索引为2的值,并未改变L这个列表
(2)不可变类型:定义个整数S=22,现在重新赋值给S=520,实际上是新生成了一个int变量,让S指向她。
5、参数:
(1)必须参数:必须用正确的顺序传入函数,调用时的数量必须和声明的时候一样
举个简单的例子:
def S(z):
print(z)
return
S()
我们在输入这么一段代码使控制台就会报错(如下):
这时就是因为我们在调用函数的时候,没有传递参数导致,又或者说当我们定义函数时值设置了一个参数,但是我们调用的时候输入了两个实参,如下所示:
def S(z):
print(z)
return
S(3,4)
这时候控制台也会显示报错,如下图所示:
这就是必需参数,需要做到一 一对应。
(2)关键字参数:使用关键字参数允许函数调用时参数的顺序和声明时不一致
举个简单的例子:
def S(z,l):
print("z:",z,"-------","l:",l)
return
S(l=3,z=24)
当我们在调用函数的时候参数位置跟定义时的位置不一致,这个时候也不会报错,运行结果如下图所示:
(3)默认参数:定义函数时给参数一个值,当在调用的时候如果没有传递参数就会使用默认参数,如果传递参数就使用传递的参数,举个例子:
def S(z,l=10):
print(z,l)
return
S(z=24,l=456)
运行结果如下:
注意的点事当我们定义函数的时候,S(l=10,z)这时候编译器会报错,在Python中关键字参数不能放在形参之前。
(4)不定长参数:此类型有两种:*和**,前者被组装成元组,后者被组装成字典。
举个简单的例子:单个*号
def S(z,*k):
print(z,k)
S(25,520,1314)
当我们调用函数的时候后两个参数被组装成元组打印输出;如下图所示:
注意点,*可以单独使用,但是单独使用的时候后面必须要跟一个关键字参数
双**号:
def S(z,**k):
print(z,k)
return
S(25,s=520,k1=1314)
我们在使用双**号调用函数时后面的参数必须要用关键字参数,否则会报错,而双**号被组装成一个字典,运行如下图所示:
不正确的地方请指出,谢谢!!