一、函数作用
可以将程序进行简化,使我们的程序简洁明了,也不用去写许多表达式,定义许多变量、常量
二、函数的定义
通过def(define)关键字进行定义,可以选择有没有参数和返回值。重复的代码最好设成函数。
注意:
1, 函数命名时第一个字符须是字母
2, 命名区分大小写
3, 一定要有括号,里面可以放参数
4, 函数里的缩进的(table键)代码块,是函数体,里面的语句在调用函数时会执行。
5, 预先定义好的函数(内置函数),尽量不要重名
6, 默认值:在函数定义时给某些形参加上 = 赋值运算符,这样就为参数定了默认值,即使用户不指定值,就会调用默认值,而不会报错
三、关键字参数
如果你的一些函数需要许多参数,而你只想指定其中的一部分。那么你可以通过为这些参数命名来给它们赋值,这叫做 关键字参数。我们使用名字(关键字)而不是位置来给函数指定实参,(虽然前面我们一直这样做。)
这样做有两个优势:
其一,这样给函数传递参数时更加简单,因为我们不需要担心参数的位置。
其二,我们可以只给我们想要改变的参数赋值,让其他参数使用默认值。
四、可变参数
有时候你可能想要定义一个能接收 任意个 数参数的函数。例如定义一个参数个数可变的函数,你可以通过使用星号 * 来实现这个功能。
五、返回值
通过return语句,跳出函数,将参数返回,进而在调用时的变量等储存下来,进行之后的程序
六、作用域
当在函数内部创建变量时,不管它是否与主程序中的另一变量重名,数值相同,也没有关系,但我们要尽量避免这种事情。
注:函数内部设定变量的值不会改变全局变量的值。
七、global关键字
可以表示:在这里运用的是函数外部的变量,并不是函数本身里面的变量
八、常用内置函数
len()
abs()
all()
any()
sum()
max()
min()
#...#
九、匿名函数
lambda语句可以创建匿名函数,是一种表达式,拥有自己的命名空间,且不能访问自己参数列表之外的其他内容