目录
1.函数的定义
2.函数的参数
3.变量
1.函数的定义
def 函数名 (函数的参数):
""" 文档字符串 """
函数体(函数具体执行的逻辑)
return 返回值
注:
1. 函数遇到 return 就终止
2. 函数的返回值和输出值由 return 决定
3. 调用函数的时候可通过变量接收 return 的返回值
4. 当函数没有return 或 return None 时,此时调用函数,函数的输出值均为NONE
2.函数的参数
形式参数
函数在定义的时候写的参数,即定义函数的时候的变量名,如def sample(a,b),变量a、b, 在此定义过程中即为形式参数。
实际参数: 函数在调用的时候写的参数,如 sample(10,2)
位置参数 positional argument: 形式参数和实际参数按照位置先后顺序一一对应。
默认参数: 在函数定义的时候,给形式参数一个默认值,如def sample(a,b=2)
注:
1)如果有默认值,在函数调用是如果位置参数一一对应,掺入了实际参数,默认参数不会生效;如:当调用函数时 sample(10,5),此时b=5而不是2;
2)如果没有传入实际参数,默认值会生效。
3)优点:简化调用过程
关键字参数
关键字参数的表述:名字即形式参数;
注意点:关键字参数必须位于位置参数的后面
优点:可以交换参数的顺序,并且提高可读性
不定长参数( *args, **kwargs):
*args :在函数内部的表现形式,*args 是元组;可以接收从函数调用的时候,多余的位置参数;加在其他的位置参数的后面;函数的参数中可以只有一个"*args",即 def book(*args) 语法正确
**kwargs:为关键字不定长参数,放在其他参数的后面,即位于参数顺序的末尾。
3.变量
全局变量不能获取局部变量,更没法修改局部变量;
局部作用域能获取全局变量(局部作用域中获取全局变量,当不加global修饰全局变量时是没法修改全局变量的值的;当局部作用域中获取全局变量,并在局部作用域内用global修饰全局变量时,是可以修改全局变量的)。