函数返回多个return return a,b,c即可 本质是封装成为了一个元组(a,b,c)然后返回
全局变量
wendu=0
def get_wendu():
global wendu #加上global后可以使用全局变量,不加则调用的局部
wendu=33 #字典,列表作为全局变量时候 可以不用加global而直接修改
全局变量可以放在任意位置 但必须是函数调用之前 如:c不可以print出来
a=100
def test():
print a
print b
print c
b =200
test()
c=300
def sums(a,b,*args,**kwargs) 不定长参数,可以传入任意多个值:以元组的形式在函数中得到 **kwargs可以得到字典类型 如果调用的时候想要传递元组和字典 需要在相应的元组和字典变量名之间分别加上*A **B (叫做拆包) 如果元组A和字典B直接传入 ,那么以变量的形式传给函数*args
只要有赋值和=的地方都是 ------->引用:
A=[11,22,33,44,55,66,77,88]
B=A
A.append(99)
那么A=[11,22,33,44,55,66,77,88,99]
B=[11,22,33,44,55,66,77,88,99] 说明A和B指向同一个内存空间 和C语言有所不同
不可变类型:字符串 元组
匿名函数:
def test(a,b,func):
result=func(a,b)
return result
num=test(11,22,lambda x,y:x+y) 匿名函数做实参 本质是把匿名函数的引用给了func 使用eval("lambda x,y:x+y")可以把传入的字符串类型的转变为匿名函数 lambda x,y:x+y
实现变量值的互换 并且没有任何其他的空间占用 a,b=b,a 在Python中可以直接赋值 a=a+b b=a-b a=a-b 可以实现值互换