- 函数定义
- 函数的传入参数
- 函数的返回值
- None返回值
- 函数说明文档
- 函数中变量的作用域
函数定义
def 函数名(参数):# 通过缩进来区分函数体函数体return 返回值
变量=函数名(参数)
函数的传入参数
在函数定义中,设置的参数称为形参。不同的参数之间用逗号隔开。
在函数调用中,传入的数据称为实参
def add(x,y):# 传入的参数print(f"{x}+{y}={x+y}")
函数的返回值
使用return语句返回函数执行完成后的结果。
执行return语句后,之后的语句都不会执行。
def add(x,y):# 传入的参数return x+y
ans=add(1,2)
None返回值
若没有return语句返回数据,则会默认返回None这个字面量。None代表空、无实际意义的意思。
def f()return None# 可以主动返回
None的应用:
- 可以用在if判断上,None等价于False
- 用于声明无初始值的变量
函数说明文档
在vscode中:
- ctrl+win+i:生成文档注释(即文件最开头的注释,用于对整个文件进行说明)
- ctrl+win+t:生成函数注释(即函数开头的注释,用于对这个函数进行说明)
函数中变量的作用域
局部变量:函数体内部定义
全局变量:函数体外部定义。
在函数内部调用全局变量:
在函数内部可以调用全局变量。
但如果函数内部定义了与全局变量同名的局部变量,则会调用局部变量,而不是全局变量。
num=100
def F1()print(num)# 使用全局变量
def F2()num=10# 定义一个局部变量,不会修改全局变量print(num)# 会调用局部变量,而不是全局变量
F1()
F2()
print(num)
global 关键字
global关键字可以实现在函数里使用全局变量,或将函数中的变量声明为全局变量。
num=100# 全局变量
def F():global num #global关键字,当前变量为全局变量# 由于num已经存在,则会使用num全局变量global test# test全局变量,新定义test=10print(num)# 输出100num=10# 会修改全局变量print(num)# 输出10F()
print(num)# 输出10
print(test)# 输出10