python函数:是用来完成某种特定行为的代码块
1 函数定义:
def func_name(paras): pass
func_name:函数名称
paras:参数列表
pass:函数体
2函数使用:
func_name(paras)#仅是行为
var = func_name(paras)#变量var引用返回值
3.关于参数:
参数可以有多种表现形式
1.位置参数:依靠位值顺序进行参数参数传递
2.默认值:给参数以默认值,在调用函数时如果未指定值则使用默认值
3.收集参数*:将多余的参数赋值到一个列表中
4.收集参数**:将多余的带有键值类型的参数赋值到一个字典中
5.关键字参数:可以打乱顺序的位置参数,需要指定赋到哪一个par中.
4.关于作用域:
python中的一切都是对象,都是引用传递.例如在有参数的函数中,将一个对象使用pars来引用,如果该对象是可变对象且进行的操作是原地操作,则函数内外的引用都会发生变化.
如果参数引用的对象是不可变对象或是可变对象执行了非原地操作,那么就相当于par更改了引用对象,之前引用的对象被屏蔽掉.
#可变对象原地操作
def func1(): print(a) #[0, 1, 2, 3] a[0] = 5 print(a) #[5, 1, 2, 3] a = [0,1,2,3] func1() print(a) #[5, 1, 2, 3]
def func(b): print(b) b = 'list' print(b) a = 'word' func(a) print(a)
##运行结果 word list word