定义
def printInfo(): print("人生苦短,我用Python")
调用
def printInfo(): print("人生苦短,我用Python") printInfo()
带参函数
def printInfo(a, b): print(a + b) printInfo("人生苦短", "我用Python")
缺省参数函数
# 带有默认值的参数一定要位于参数列表的最后面 def printInfo(a, b="我用Python"): return a + b; print(printInfo("人生苦短"))
不定长参数
# 加了星号(*)的变量会存放所有未命名的变量参数,b为元组 def printInfo(a, *b): print(a) print(b) printInfo("人生苦短","我用","Python") # 人生苦短 # ('我用', 'Python') printInfo("人生苦短") # 人生苦短 # ()
# 加**的变量会存放命名参数,即形如key=value的参数, b为字典。 def printInfo(a, **b): print(a) print(b) printInfo("人生苦短", x="我用", y="Python") # 人生苦短 # {'x': '我用', 'y': 'Python'} printInfo("人生苦短") # 人生苦短 # {}
def printInfo(a, *b, **c): print(a) print(b) print(c) printInfo("人生苦短", 1, "a", x="我用", y="Python") # 人生苦短 # (1, 'a') # {'x': '我用', 'y': 'Python'} printInfo("人生苦短") # 人生苦短 # () # {}
带返回值函数
def printInfo(a, b): return a + b; print(printInfo("人生苦短", "我用Python"))
返回多个值函数
# 本质是利用了元组 def printInfo(a, b): return a, b; a, b = printInfo("人生苦短", "我用Python") print(a, b)
函数拆包
def printInfo(a, *b, **c): print(a) print(b) print(c) a = (1, 'a') b = {'x': '我用', 'y': 'Python'} printInfo("人生苦短", a, b) # 人生苦短 # ((1, 'a'), {'x': '我用', 'y': 'Python'}) # {} printInfo("人生苦短", *a, **b) # 人生苦短 # (1, 'a') # {'x': '我用', 'y': 'Python'}
匿名函数
sum = lambda arg1, arg2: arg1 + arg2 print(sum(10, 20)) # 30 # 函数作为参数传递 def fun(a, b, opt): print("a =", a) print("b =", b) print("result =", opt(a, b)) fun(1, 2, lambda x, y: x + y) # a = 1 # b = 2 # result = 3 stus = [ {"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 19}, {"name": "wangwu", "age": 17} ] stus.sort(key=lambda x: x['age']) print(stus) # [{'name': 'wangwu', 'age': 17}, {'name': 'zhangsan', 'age': 18}, {'name': 'lisi', 'age': 19}]