函数

更新时间: 2024-03-14 15:33:44

# 函数的基础定义语法

def 函数名(传入参数):
    函数体
    return 返回值
1
2
3

函数的调用: 函数名(参数)

def say_hi():
    print("Hi 我是黑马程序员")

say_hi()
1
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

传入参数的数量是不受限制的,可以是0个或任意多个

# 函数的返回值

# 定义

函数的返回值可以用变量来接收

def add(x, y):
    result = x + y
    return result

sum = add(1,2)
print(sum)
1
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

# 函数的嵌套调用

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

# 变量在函数中的作用域

# 局部变量

变量作用域指的是变量的作用范围(变量在哪里可以用,在哪里不可用)

局部变量是定义在函数体内部的变量,即只在函数体内生效

# 全局变量

在函数体内、外都能生效的变量

# 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

可以使用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