本人只是初学阶段,在学习过程中的一些笔记。想借此平台也分享给刚刚学习的朋友,如有错的地方欢迎各位大神与高手指点。
例子一:函数
def f1(a, b): # 定义一个函数,有2个参数
return a + b # 输入结果
print(f1(99, 100)) # 输入结果,但需要赋值给f1函数2个值
也可以加个判断条件到函数里面
例:
def f1(a, b): # 定义一个函数,有2个参数
if a > b: # 加一个判断式,如果a的值比b大
return a - b # 即输出结果是a-b
else: # 否则
return a + b # 输出结果是a+b
print(f1(199, 100)) # 输入结果,但需要赋值给f1函数2个值
例:可变量函数——元组
def f1(*a): # 将参数定义为一个元组
return a
print(f1(1, 2, 3, 4, 5)) # 输出结果为一个元组 :(1, 2, 3, 4, 5)
例:可变量函数——字典
def f1(**a): # 将参数定义为一个字典
return a
print(f1(x=1, y=2, z=3)) # 输出结果为一个字典:{'x': 1, 'y': 2, 'z': 3}
例:函数嵌套
def f1(x, y): # 定义f1
def f2(a, b): # 定义f2
return 'ole is %d %d,new is %d %d.' % (x, y, x + a, y + b) # 将f1的2个值与f2的值相加,得出新值
return f2 # 输出f2
f3 = f1(1, 2) # 调用f1,给x与y赋值
print(f3(11, 20)) # 调用f2,给a与b赋值
# 结果ole is 1 2,new is 12 22.
例子二:global全局变量函数
x = 99
y = 88
def f1():
global x # 将函数外的x变成函数中的值,即x=99的值会变为f1()中x的值
x = 3
def f2():
global y
y = "hello"
print(x, y)
return f2
a1 = f1() # 如果直接调用f1()的话只是个内存地址
a1() # 需要定义一个函数给它再进行调用
print(y, x) # 因上面用global将x和y进行新赋值,所以不再是显示88,99,而是f1与f2函数中的值
例子三:lambda匿名函数
f = lambda x, y, z: x + y + z # 直接把f变为匿名函数
print(f(4, 5, 6)) # 结果为4+5+6,即15
f = lambda x, y, z=10: x + y + z # 直接把f变为匿名函数,x、y、z都为10
print(f(4, 5)) # 结果为4+5+10,即19
l3 = [(lambda x: x * 2), (lambda y: y * 3)] # 定义一个lambda列表
for i in l3: # 此时不能直接l3(4,4)赋值给参数x,y,只能通过循环语句给每个参数
print(i(4)) # 第一次i会变成(lambda x: x * 2),即会变成4*2,如此类推
网友评论