参考:b站:覃秉丰,书籍:清华大学出版社《python从入门到精通》
编译环境 python3 jupyter notebook (vscode等编译器对代码进行适当修改即可)
def fun(): a = 1 b = 2 c = a + b print(a,b,c) fun()
结果:
1 2 3
def fun(a,b): c = a + b print(c) fun(10,20)
或直接赋值:
def fun(a=10,b=20): c = a + b print(c) fun()
或带return值:
def fun(a=10,b=20): c = a + b return c fun()
结果:
30
即传入函数中的实际参数可以是0到任意个
可放入不定个数的参数
def add_number(a,*args):#不定个数的参数 for i in args: a+=i return a add_number(1,2,3,4)
结果:
10
只能是字典格式的参数
def add_number2(a,**kwargs):#只能是字典格式的参数 for arg,value in kwargs.items(): print(arg,value) add_number2(1,x=2,y=3,z=4)
结果:
x 2
y 3
z 4
通常情况下不用lamdba函数
#常规计算一个圆的面积的方法 import math def circlearea(r): result = math.pi*r*r return result r = 5 print('r=',r,'S=',circlearea(r))
但是如果使用匿名函数lambda,可以省略不必要的麻烦
格式:result = lambda[arg[arg1,…]]:expression
说明:
[arg[arg1,…]] 用于指定要传递的参数列表,多个参数间使用“,”分隔。
expression 用于实现一个具体功能的表达式
举例说明,还是上面的例子
import math r = 5 result = lambda r:math.pi*r*r print('r=',r,'S=',result(r))
两个输出结果一样的:
r= 5 S= 78.53981633974483
如果还有别的之后再做补充