1、定义并调用函数
2、函数参数
3、作用域和返回值
函数的作用域分为全局作用域和函数作用域。
全局作用域包括函数之外的变量作用域和参数列表里的变量作用域。
函数作用域指函数内定义的变量的作用域。
4、默认参数
int()函数的第二个参数默认为10,表示默认转换为10进制整数。
允许有多个默认参数,但是默认参数需要放在参数列表的最后面。
通常来说,当默认参数是可变类型(list,dict,set,bytearray)的时候,需要特别注意作用域的问题:
循环列表:
向列表中添加元素:
5、位置参数、关键字参数和可变参数
6、参数解构
7、参数槽
*之后的参数,必须以关键字参数的形式传递,称之为参数槽(keyword-only参数)。
8、类型示意
类型示意的作用:1)书写更清晰的自文档;2)帮助IDE做类型检查。
9、递归函数
10、生成器
协程:
用生成器实现计数:
用生成器实现阶乘:
带有yield的函数就是生成器函数: