函数
更新时间: 2024-03-14 15:33:44
# 函数的基础定义语法
def 函数名(传入参数):
函数体
return 返回值
1
2
3
2
3
函数的调用: 函数名(参数)
def say_hi():
print("Hi 我是黑马程序员")
say_hi()
1
2
3
4
2
3
4
函数必须先定义后使用
# 函数的参数
def add(x, y):
result = x + y
print(f"{x} + {y} = {result}")
return result
add(1,2)
add(18,10)
1
2
3
4
5
6
7
2
3
4
5
6
7
传入参数的数量是不受限制的,可以是0个或任意多个
# 函数的返回值
# 定义
函数的返回值可以用变量来接收
def add(x, y):
result = x + y
return result
sum = add(1,2)
print(sum)
1
2
3
4
5
6
2
3
4
5
6
注意:函数体在遇到return后就结束了,所以写在return后的代码不会执行
# None类型
Python中有一个特殊的字面量:None, 其类型是:<class 'NoneType'>
无返回值的函数,实际上就是返回了:None这个字面量
和js的null一样的用法哦
# 函数的说明文档
def func(x, y):
"""
函数说明
:param x:形参x的说明
:param y:形参y的说明
:return: 返回值的说明
"""
函数体
return 返回值
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 函数的嵌套调用
def func_b():
print("----2----")
def func_a():
print("----1----")
func_b()
print("----3----")
func_a()
"""
----1----
----2----
----3----
"""
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 变量在函数中的作用域
# 局部变量
变量作用域指的是变量的作用范围(变量在哪里可以用,在哪里不可用)
局部变量是定义在函数体内部的变量,即只在函数体内生效
# 全局变量
在函数体内、外都能生效的变量
# global关键字
在函数内声明的变量是局部变量,不会影响全局
num = 200
def test_a():
print(num)
def test_b():
num = 500
print(num)
test_a() # 200
test_b() # 500
print(num) # 200
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
可以使用global关键字,在函数内部声明变量为全局变量:
num = 200
def test_a():
print(num)
def test_b():
global num
num = 500
print(num)
test_a() # 200
test_b() # 500
print(num) # 500
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12