1.函数定义的通用格式
def 函数名(形式参数):
"""
此处可以加函数的说明文档...
:param: 解释参数
:return: 解释返回值
"""
函数体
return 返回值
2.函数调用的通用格式
注意: 程序的入口是main
if __name__ == '__main__':
变量接收返回值 = 函数名(实际参数)
3.python函数定义及调用的注意事项
函数必须先定义再调用
函数不调用不执行
函数每调用1次就执行1次
函数的参数和返回值根据需求定是否含有
定义时有形参,调用时必须传入对应的实参
定义时有返回值,调用时建议用变量接收
定义时没有return 返回值,默认返回的None;也可以手动返回None,此操作没有意义
4.全局变量global
全局变量: 在函数内和函数外都可以访问的变量 示例: global 函数名
局部变量: 只能在当前函数内访问的变量
# 先定义函数
def show1():
# 修改全局变量
# 注意: 如果在函数内通过 变量名=新值 方式修改全局变量,其实是修改失败的
# 本质是在当前函数内创建了一个和全局变量名字一样的局部变量而已
# 如何在函数内真正的做到修改全局变量呢? 使用global关键字声明
global a
a = 300
print(a)
def show2():
print(a)
if __name__ == '__main__':
# 全局变量
a = 200
# 再调用函数
show1()
show2()
print(a)
5.示例
无参无返回值:
# 需求: 计算30和40的和
# 先定义函数
def get_sum():
a = 30
b = 40
sum = a + b
print(sum)
# 再调用函数
# 无参无返回值的弊端: 只能计算固定的两个数的和,并且结果还不能用于其他操作
get_sum()
有参无返回值:
# 需求: 同时计算10和20以及30和40的和
# 先定义函数
def get_sum(a, b):
sum = a + b
print(sum)
# 再调用函数
# 有参数的好处是: 重复调用同一个函数,传入不同参数实现不同结果
get_sum(10, 20)
get_sum(30, 40)
有参有返回值:
# 需求: 同时计算10和20以及30和40的和
# 先定义函数
def get_sum(a, b):
sum = a + b
return sum
# 再调用函数
h1 = get_sum(10, 20)
print(h1)
h2 = get_sum(30, 40)
print(h2)
# 有返回值的好处是: 结果可以用于其他操作
# 需求: 10,20,30,40的和
print(h1 + h2)
6.函数的嵌套
# 先定义函数
def show2():
print('------show2开始-------')
print('此处省略1w行代码...')
print('------show2结束-------')
def show1():
print('------show1开始-------')
show2()
print('------show1结束-------')
def show():
print('------show开始-------')
show2()
print('------show结束-------')
# 再调用函数
# 程序的入口是main
if __name__ == '__main__':
# print(__name__)
show1()