函数

2019-05-23  本文已影响0人  single仔

本人只是初学阶段,在学习过程中的一些笔记。想借此平台也分享给刚刚学习的朋友,如有错的地方欢迎各位大神与高手指点。

例子一:函数

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,如此类推

上一篇下一篇

猜你喜欢

热点阅读