1.函数的定义和使用
a.基本语法
def 函数名([参数列表]):
''' 函数说明的注释'''
函数主体
- def光健字来定义函数
- 函数形参不需要声明其类型,也不需要指定函数的返回值类型
- 即使该函数无参数,也不能省略括号
- 括号后面的冒号必不可少
- 函数体相对于函数名一定要保持一定的空格缩进,缩进表示所属关系
- 注释不是必需的,但是要养成良好的习惯
- 内置函数help(函数名)能够查看函数的使用帮助
- 函数返回值类型无需声明,是使用return语句返回任意类型的值
- 如果函数没有return语句,那么函数会返回None结束(空值)
b.函数嵌套定义、可调用对象与修饰器decorate
- 可以在函数内部再定义函数
- 函数的调用与其他语言一致
- 修饰器也是一个函数,但该函数接受其他函数作为参数,并对其进行一定的改造之后返回新函数
2.函数的参数
- 在Pythn中的函数参数,可以有默认值,也支持使用可变参数,所以函数并不需要像其他语言一样支持函数的重载
- 如一个函数 def add(a=0,b=0,c=0):......定义了一个名字叫add的函数,定义的时候参数规定了默认值
- 当传递参数的时候,可以不按照设定的顺序进行传递。如:add(b=23,c=12,a=3)
- 若在传参的时候,未传入对应参数的值,那么函数会使用默认值,调用函数如:add()
- 上述函数只有三个参数,如果函数的参数是由用户来决定的,那么可以再定的时候使用可变参数
如:def add(*args) #在参数名前加*表示该参数是一个可变参数
3.用模块来管理函数
- 当在同一个文件中定义了两个相同的函数名时,但又因为pytho不会像其他语言那样有重载的功能,其后一个函数会覆盖前一个函数
- 为了避免命名冲突,采用模块进行分区
- python中每个文件就代表了一个模块,在不同的模块中可以有同名的函数,使用函数的时候通过import关键字导入指定的模块