python函数返回值,全局与局部变量

309 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第29天,点击查看活动详情

一、函数的返回值

1.1、概念

函数执行完之后,返回的结果,就是函数返回值。关键字return返回。return后面的值可以是一个值,也可以多个值,如果是多个值,会将多个值封装到一个元组中。


1.2、例子

例如不加return,将无返回值:

def add_num(*args):
    num = 0
    for i in args:
        num += i
    

print(add_num(1, 2, 3))

效果: 在这里插入图片描述


加入关键字return

def add_num(*args):
    num = 0
    for i in args:
        num += i
    return num


print(add_num(1, 2, 3))

效果 在这里插入图片描述


1.3、冒泡排序返回最大值与最小值

通过上面的介绍,我们大概知道了函数的返回值,我们通过经典的冒泡排序来返回列表中最大值与最小值。

list1 = [12, 10, 99, 100, 3, 8, 101, 2, 88]


def min_max_data(arr):
    for i in range(len(arr)-1):
        for j in range(len(arr)-1-i):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr[0], arr[-1]


print(min_max_data(list1))
min_num, max_num = min_max_data(list1)
print(min_num, max_num)

在这里插入图片描述 可以看到我们使用冒泡排序,将列表中最小和最大的值取出来了,并且使用的拆包的思想将其赋值。


二、全局变量与局部变量

2.1、全局与局部概念

局部变量的作用范围仅限函数内部。 如果外部变量有,函数局部变量也有的话,那么优先使用函数里局部变量。例如:

a = 100
b = 99


def get_a():
    a = 88
    print('a: ', a)


def get_b():
    print('b: ', b)


get_a()
get_b()

效果: 在这里插入图片描述 可以看到如果在函数体里声明了相同名称的变量时,那么调用函数时将会使用局部的变量,而不是全局的。那函数里没有声明局部的变量的话将会使用全局的变量。


2.2、关键字global

注意:函数里可以直接使用全局变量,但是不能直接修改全局变量,如果想修改全局变量,则必须使用关键字global,例:

a = 100
b = 99


def get_a():
    a = 88
    global b
    b = 101
    print('a: ', a)


def get_b():
    print('b: ', b)


get_a()
get_b()

效果: 在这里插入图片描述 可以看到在get_a函数中我们直接将全局变量b修改成了101。


三、函数的注释

三个引号:

def login(username, password):
    """
    :param username: 账号
    :param password: 密码
    :return: 返回打印账号,密码
    """
    return print(username, password)

login('111','222')

如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持