函数的定义
def 函数名([形参列表]):
当前函数的具体功能的代码
当前函数的具体功能的代码
。。。。
函数的调用
函数名(实参列表[])
函数使用的规范
- 函数只有在被调用时执行
- 不能在函数定义前调用
- 函数的调用不受次数影响
- 函数的命名要遵守命名规范
- 字母数字下划线,不能以数字开头
- 严格区分大小写,不能使用关键字
- 命名有意义且不使用中文
- 函数名不能冲突
函数的参数
函数参数概念及分类
- 函数参数:调用时需要传递的数据.
. 形参: 函数定义时的参数 . 实参: 函数调用时的参数 - 函数调用时,形参和实参个数需要一一对应
- 形参: 普通参数,默认参数,普通收集参数,命名关键字参数,关键字收集参数
- 实参: 普通实参,关键字实参
普通参数
普通的参数,接收实参传递的值
def func(a)
默认参数:
位于普通参数后面,具有默认值的参数
def func(a,b=1)
普通收集参数:
专门收集在函数调用时传递的多余的非关键字实参
def func(a,b=1,*args):
print(a,b,args)
func(1,2,3,4,5,6)
命名关键字参数
定义时在普通收集参数后的参数,调用时必须传入指定参数名才能调用
def func(a,b=1,*args,name)
print(a,b,args,name)
func(1,2,3,4,5,6,name='1234567')
关键字收集参数有
用于专门收集多余关键字实参,输出结果为字典
def func(a,b=1,*args,name,**kwargs):
print(a,b,args,name,kwargs)
func(1,2,3,4,5,6,name='1234',age=18.school='HEBTU')
形参声明的位置顺序:
普通参数 -> 默认参数 ->普通收集参数 -> 命名关键字参数 -> 关键字收集参数
函数返回值
- 返回值可有可无
- 可以使用return 返回 任意内容或数据
- 若没有return,默认返回None
- return 意味着函数的结束,return之后的代码不在执行
变量作用域
变量分类
获取变量数据
- globals() 获取全局数据
- locals() 获取当前作用域的数据
注意事项
- 在函数外定义的变量,函数可以访问,但是不能更改
- 对于定义在函数外的列表和字典可以通过函数更改,其他不能更改,只能访问
函数作用域
def outer():
print('this is outer function...')
def inner():
print('this is inner function...')
inner()
outer()
nonlocal
在内函数中使用外层函数的变量,需要使用 nonlocal 关键字引用
def outer():
num = 10
def inner():
nonlocal num
num += 1
print(num)
inner()
outer()
关于函数的文档
def outer():
'''
这里是让你些当前函数的文档说明的。
需要说明当前函数的作用,
如果当前函数还有行参,那么也需要对行参进行一一说明
name: 这个是一个name参数,有什么作用。。。
age : 这个表示当前的一个年龄
:return: 此处说明当前函数的返回值。。。
'''
print(globals())
print(__name__)
print(__doc__)
'''
魔术变量
__name__ ==> 当前脚本作为主程序,值是 __main__,如果是当做模块,值是当前文件的名字
__doc__ ==> 当前脚本的文档说明 在当前脚本当中的第一个 三引号注释就是当前脚本的说明文档
'''
|