函数
函数可以提高编写代码效率、代码的重用、让程序更小、模块化 可以将一段独立功能的代码集成在一个块中、封装独立功能 # 函数定义(参数名为形式参数) def 函数名(参数名): 函数体 # 调用函数(享受封装的成功) 函数名(实际参数) 例:print函数 print(sep,end) sep(元素中分割)和end(结束符)为函数的参数
函数的参数
# 函数共有四种参数(位置参数、关键字参数、默认参数、可变参数),下面分别来介绍这四种参数 # 位置参数(输入的实际参数的时候和形式参数的位置是一一对应的) 例: def number(a,b): 函数体 注意:number(a,b) a和b的位置不可变,否则会影响结果,这种形式就是位置参数、实参个数与形式参数个数一致 # 关键字参数(输入的实际参数位置可以和形式参数位置不一致,由关键字判断) 例: def number(a,b): 函数体 number(a=,b=) a和b的位置可变,由关键字区分,实参个数和形式参数个数一致 # 默认参数 例: def number(a,b=1): 函数体 number(a="1",b) b可以不用传参,会直接使用默认参数,如果在实参中(关键子参数、位置参数)传了默认参数会使用实参来代替默认参数、在函数定义时,默认参数需要放在非默认参数后面 # 可变参数 例: def number(*args,**kwargs): 函数体 type(args)=tuple将形参接收到的所有位置参数,会保存到元组中,*一个星号只能接收位置参数 tyoe(kwargs)=dict将形参接收到所有关键子参数,会保存到字典中,**两个型号接收关键参数 return 一个函数默认不使用return返回的话,默认返回None 函数中遇到return就会返回,这个函数运行结束 return的返回值会返回到函数调用处 可以返回多个值,用逗号隔开 返回多个值类型是元组类型 使用return会跳出循环 模块及函数的调用 #模块定义: 任意一个py文件就是模块 模块的名称,一定要符合标识符的命名规范 py文件中定义的函数,变量,类型能呗其他py文件导入之后,进行调用 #函数的调用: import py文件 from xxx import 特定的函数 from xxx import * (导入所有函数和全部变量) 不推荐使用,有可能造成重名,外加占用cpu
变量
# 函数中的作用域 局部变量:函数体内部定义变量 全局变量:模块内的变量 # 函数体内的一个变量查找顺序 1、当前函数内部作用域中查找有没有定义这个变量 2、会去全局作用域中查找,如果有同名的变量,那么会直接获取 3、会去系统模块中查找,如果系统模块中找不到,那么会NameError异常 # 函数体内部将局部变量改为全局变量 global变量 # 使用global后,指定的变量一定为全局变量