- 函数也是一个对象;
- 函数中保存的代码不会立即执行,调用时才会执行;
- 函数名是对象,例如print;函数加括号是调用函数,例如print()。
参数
定长参数传递
- 参数指定默认值,只有在未传值时才会生效,默认参数一般放到后面;
def sum(a,b=1):
print(a+b)
sum(3,2)#5
sum(3)#4
- 位置参数和关键字参数可以混合使用,位置参数放在前面,关键字参数放到后面。
import requests
r=requests.get("http://www.baidu.com",headers=xxx)
- 在函数中对形参赋值,不会影响其他变量;
def fn(a):
a=20
print('a=',a,id(a))
c=10
fn(c)
print('c=',c,id(c))
#a= 20 140722025047024
#c= 10 140722025046704
- 但是通过形参修改对象时,会影响所指向该对象的变量;
def fn(a):
a[0]=5
print('a=',a,id(a))
c&#