python学习笔记10-函数2

# 1.命名空间、作用域
# 函数内部赋值的变量默认被分配到局部命名空间,函数执行完毕即被销毁
a = 1
def f():
    a=2
    return a
f()
a 
# 1
# 此时a的值未改变,如果需要改变a,需要用global关键字声明a
def f():
    global a
    a=2
    return a
f()
a 
# 2

# 2.返回多个值
def f():
    a=1
    b=2
    return a,b
x,y = f()
x,y
# (1, 2)

# 3.匿名函数(lambda)
# 常用于函数作为参数时
pairs = [('a','C'),('b','A'),('c','B')]
pairs.sort(key = lambda pair:pair[1])
pairs
# [('b', 'A'), ('c', 'B'), ('a', 'C')]
pairs.sort(key = lambda pair:pair[0])
pairs
# [('a', 'C'), ('b', 'A'), ('c', 'B')]

# 4.解包参数列表
# 可变参数与关键字参数相反的调用情况
a = [3,7]
list(range(*a))
# [3, 4, 5, 6]

猜你喜欢

转载自www.cnblogs.com/babysteps/p/python_note_10.html