8、Python-函数

定义

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}]

猜你喜欢

转载自www.cnblogs.com/jhxxb/p/10415215.html