1.定义函数
(1)无参数
(2)有参数:形式参数,变量名任意
2.调用函数
(1)无参数
(2)有参数:实参,变量实际存在
3.函数返回值
# return:一般定义函数时有返回值,如果没有定义返回值默认返回None
# None:Nonetype类型,空。(null,nil,undefine)
# 返回多个返回值:封装成元组
4.形参
(1)必选参数
(2)默认参数
# 如果实参数量小于形参,默认参数为默认值;如果实参与形参数量相等,默认参数被实参取代
例如:print('hello', end=',')
*易错点:
# 定义函数, 默认参数的默认值尽量不是可变参数;
(3)可变参数
# 打包:作用于不存在的变量.*变量名:*args,实质是一个元组
# 解包:作用于已存在的变量.*变量名:可以解包列表、元组、集合
(4)关键字参数
# 打包:作用于不存在的变量.**变量名:**kwargs,实质是一个字典
# 解包:作用于已存在的变量.**变量名:可以解包字典
(5)参数顺序:必选、默认、可变、关键字
5.函数的作用域
(1)局部作用域:作用于函数内部
(2)全局作用域:作用于整个脚本
(3)局部变量变全局变量:global
6.函数名的理解
# 函数也是变量。可以赋值给变量。
7.参数检测
(1)输入判断
(2)帮助文档
a.fun(x:int, y:int)
b.快注释:""" """