# 函数的定义与调用
函数的概念
提前编写好的,可以重复使用的一段特定功能的代码段(必须先定义,再调用,不调用不执行,每调用一次就执行一次)
函数定义格式
def 函数名(形式参数):
函数体
return 返回值
不使用return语句即默认返回None,当然也可以主动return None,None是类型’NoneType’的字面量,用于表示:空的、无意义的,函数体在遇到return后结束,所以在return后的代码不会被执行。
函数调用通用格式
变量名接收返回值 = 函数名(实际参数)
main: 主函数,程序的入口
main快捷键: main回车,如果是当前文件中直接执行,默认__name__的值是'main'。 如果是import导入方式运行的,默认__name__值就不是'main'而是当前模块名/py文件名,在main值下的程序代码在包导入(import)到别的文件中时是不会被执行的,只会在本文件中执行。
根据有无返回值和参数可以将函数分为三种
>>> 无参数无返回值 、 有参无返回值 、 有参有返回值
无参数无返回值能重复调用,但是每次结果一样,没有意义。
有参数无返回值能重复调用,而且每次可以传入不同的数据,实现不同的结果。
有参数有返回值能重复调用,而且每次可以传入不同的数据,返回不同的结果,能参与其他的运算。
空值None
None: 在python中代表无意义,也就是空的意思
函数说明文档
对函数功能以及参数返回值的介绍,位置处于函数内,函数体之前。在调用函数的时候,鼠标悬停到函数名上,会有对应的提示。
全局变量和局部变量
全局变量: 函数内和函数外都能访问到
局部变量: 只能当前这个函数的内部访问
# 1.先定义函数
def show1():
# 定义局部变量
num = 100
print(f'show1内部访问num:{num}')
print(f'show1内部访问全局变量a:{a}')
def show2():
# print(f'show2内部访问num:{num}') # 此处报错,因为局部变量只能当前那个函数内部访问
print(f'show2内部访问全局变量a:{a}')
# 定义全局变量
a = 200
# 2.再调用函数
show1()
show2()
# print(num) # 此处报错,因为局部变量只能当前那个函数内部访问
# 函数外部访问全局变量a
print(f'函数外部访问全局变量a:{a}')
global关键字
作用:能够让函数内部的局部变量在全局使用
函数内如何修改全局变量: global 全局变量名
# 1.先定义函数
def show1():
# 定义局部变量
num = 100
print(f'show1内部访问num:{num}')
print(f'show1内部访问全局变量a:{a}')
def show2():
# 注意: 如果想要在函数内修改全局变量,需要加global声明
global a
a = 300
# print(f'show2内部访问num:{num}') # 此处报错,因为局部变量只能当前那个函数内部访问
print(f'show2内部访问全局变量a:{a}')
# 定义全局变量
a = 200
# 2.再调用函数
show2()
show1()
# print(num) # 此处报错,因为局部变量只能当前那个函数内部访问
# 函数外部访问全局变量a
print(f'函数外部访问全局变量a:{a}')