函数 (function) 是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
作用: 使用函数可以加强代码的复用性, 提高程序编写的效率
1、函数的结构def 函数名():
函数体
函数名只能包含字母、下划线和数字且不能以数字开头。 pass是空语句,是为了保持程序结构的完整性。
2、函数调用函数名()
3、返回值return:给函数的执行者返回值,函数中遇到return,此函数结束,不再继续执行。
二、函数参数 1、区分形参和实参
形参:写在定义函数的位置,这个变量叫形参
实参:写在函数调用的位置,这个值加实参
函数的传参:函数将实参交给形参的过程
2、必备参数写了几个就要传几个
例如:
写了三个形参:a,b,c,就要传给三个实参
def func(a,b,c): # a,b是形参 return a+b+c
3、默认参数给某个参数指定一个默认值,设置了默认值,没有传值会根据默认值执行代码;传了值,会根据你传的值来执行代码。
4、可变参数
可变参数:*args,将实参所有位置参数接收,放置在一个元组中。传入的值的数量可以改变,可以传入多个,也可以不传。
5、关键字参数关键字参数:**kwargs,接受所有的关键字参数,然后将其转换成一个字典赋值给kwargs这个形参
三、函数嵌套一个函数中还有一个函数
函数调用:在函数B里面调用函数A
四、枚举函数:enumerate语法:enumerate (可遍历对象,start=0),参数start可以不写
注意:start参数用来设置遍历数据的下表起始值,默认为0
enumerate返回的结果是元组,元组的第一个数据是原迭代对象数据的下标,元组的第二个数据是原迭代对象的数据
五、判断扩展1、isalpha():如果字符串中至少有一个字符并且所有字符都是字母,是则返回True,否则返回False
2、isdigit():如果字符串只包含数字,是则返回True,否则返回False
3、isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字,是则返回True,否则返回False
4、isspace():如果字符串只包含空白则返回True,否则返回False
5、startswith():判断字符串是否以指定字符或子字符串开头
6、endswith():判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型
其他的用法相同
六、变量作用域变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量
注意:函数间不能共享内部定义的变量格式,函数内可以使用全局变量。
1、局部变量所谓局部变量就是在函数体内的变量,即只在函数体内生效
局部变量的作用:在函数体内部,临时保存数据,即当函数调用完之后,则销毁局部变量
变量a是定义在testA函数的内部变量,在函数外部访问则立即报错。
2、全局变量所谓全局变量指的是函数体内、外都能生效的变量。
七、global和nonlocal的使用 1、global:将变量声明为全局变量语法格式: global 变量名
在函数体内部修改全局变量
2、nonlocal:将变量声明为外层变量(外层函数的局部变量,而且不能是全局变量)nonlocal只能在嵌套函数中使用,在外部函数先声明,在内部函数进行nonlocal声明。使用nonlocal声明时,对上一级进行修改。