目录
一、函数的定义及语法格式
- 函数:组织好的、可重复使用的,用来实现特定功能的代码串
- 函数的语法格式:
注意事项:
- def关键字:我将要写一个函数
- 必备项:def 、函数名、函数体
- 可选项:传入参数、返回值可以省略
- :冒号作为当前行的结尾
- 先定义函数,后调用函数
# exampl
def hello():
print(f"你好赵哈哈")
# 以上只是定义,并不会有输出
# 下面调用函数,让定义的函数工作
hello()
注意事项:
- 必备:def、 函数名 、函数体
- 不要忘记函数调用,否则不会输出,调用函数只需要写入函数名即可(此处没有传入参数,有的话也需要写)
二、函数的传入参数
- 传入参数:在函数运行的时候,接受外部传入的数据
- 使用方式:
定义一个head函数,传入参数可以是变量,在调用的时候随意更改传入参数的变量值。
# 定义函数 head(x,y)称作《形式参数》
def head(x,y):
sum_head = x + y
print(f"{x} + {y} = {sum_head}")
# 调用函数 head(3,5)称作《实际参数》
head(3,5)
注意事项:
- 函数定义时的传入参数,是形式参数;调用时的参数是实际参数
- 传入参数的数量不限,用逗号隔开即可
三、函数的返回值
- 返回值:函数在执行完成后,返回给调用者的结果
- 用法:使用关键字 return 来返回结果
def head(x,y):
sum_head = x + y
return sum_head
x = head(3,5)
print(x)
如题,return 之后结果已经有了,只是没有输出,之后解决它怎么print 的问题即可。
注意事项:函数遇到return之后就结束了,return之后的代码串不会执行。
四、None
- 什么是None?
None是类型 “ Nonetype ” 的字面量,用于表示:空的、无意义的。
- 函数如何返回None
不使用return语句即返回None
主动return None
- 什么时候使用None
函数返回值、if 判断语句、变量定义
五、函数的注释
三引号一回车,会自动出现以下注释头,将其进行说明即可。
注释完之后,将鼠标光标放在调用函数的第一个括号处,会自动出现以下窗口,显示定义的注释。
六、函数的嵌套调用
函数的嵌套调用是指,在一个函数里面调用了另一个函数。
def function_A():
print("a")
def function_B():
print("b")
function_A()
print("c")
# 调用函数 function_B()
function_B()
# 结果为
b
a
c
如题,调用函数B,执行函数B,当执行到调用函数A的时候,先把函数A的全部内容执行完,再继续执行函数B剩余的内容。
七、局部变量、全局变量及global关键字
1. 局部变量和全局变量
# 局部变量
def test_a():
num = 100
print(num) #内部可以使用
test_a()
以上是局部变量的正确用法。num 在局部。
def test_a():
num = 100
print(num) #内部可以使用
test_a()
print(num) # 外部不可以使用
# 报错,出了函数体,局部变量num无法被全局中的print使用
以上是局部变量的错误用法。 # 报错,出了函数体,内部的num无法被外部的print使用
# 全局变量
num_2 = 200
def test_b():
print(f"a:{num_2}") #内部可以使用
test_b()
print(num_2) # 外部可以使用
以上是全局变量的正确用法。num 在整体(外部)。
2. global关键字
作用:将函数内部定义的变量变为全局变量
【内部变外部,外部即全局】
# global关键字 内部变外部
num = 100
def aaa():
print(f"in_a:{num}")
def bbb():
global num
num = 200
print(f"in_b:{num}")
aaa()
bbb()
print(f"out_a:{num}")
print(f"out_b:{num}")
# 输出
in_a:100
in_b:200
out_a:200
out_b:200