python函数基础十:返回值与全局变量

1.返回值
1)什么是返回值
返回值就是从函数内部传递到函数外部的数据。(如果实现函数的功能,产生了新的数据一般都需要将这个新的数据通过返回值返回)
2)怎么确定函数返回值
在函数体中通过return关键字来返回返回值: return 数据
注意:同一个函数中,只有一个return有效。(因为执行函数体的时候只要遇到return函数直接结束)
如果要在一个函数中返回多个数据,用能够保持多个数据的容器。常用元组: return 数据1, 数据2, 数据3,…

3)怎么在函数外部获取函数返回值
获取函数调用表达式的值就是获取函数的返回值。(返回值对应的数据能做的,函数调用表达式都可以做)

def func4():
    return [1, 2, 3]


print(func4())
print(func4()[0])
for x in func4():
    print(f'x: {x}')

def sum1(num1, num2):
    s = num2 + num1
    return s, s/2


def func1():
    print('111111')
    return     # 相当于 return None
    print('222222')

练习:删除指定列表中所有指定元素
# [1, 23, 4, 5, 1, 34, 2, 1]  删除元素 1  -> [23, 4, 5, 34, 2]
# 方法一:
def del_item(list1: list, item):
    for x in list1[:]:
        if x == item:
            list1.remove(x)

根据变量的作用域不同将变量分为全局变量和局部变量两种
1.全局变量
定义在函数和类外面的变量都是全局变量
全局变量的作用域:从定义开始到程序结束的任何地方都可以用

2.局部变量
定义在函数里面的变量是局部变量
作用域:从定义开始到函数结束

局部变量产生的原因:每次调用函数的时候,系统会自动为被调用的这个函数在栈区间开辟一块独立的内存空间,专门
用来保存在这个函数中定义的变量。当函数调用结束的时候这块内存空间会自动销毁。

3.global和nonlocal
global和nonlocal是函数体中的关键字,只能在函数体中使用
1)global
global的作用:在函数中定义或者修改全局变量
用法:
global 变量名
变量名 = 值

2)*nonlocal
作用:在局部的局部中修改一个局部变量的值
nonlocal 变量名
变量名 = 值

1.什么是匿名函数
匿名函数的本质还是函数;但是匿名函数只能通过一条语句来实现函数的功能。
1)语法:
函数名 = lambda 形参列表:返回值
相当于:
def 函数名(形参列表):
return 返回值

# 练习:写一个匿名函数,返回指定的年是否是闰年
is_leap_year = lambda year: (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(is_leap_year(2020))

is_leap_year2 = lambda year: '闰年' if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) else '平年'
print(is_leap_year2(2021))

猜你喜欢

转载自blog.csdn.net/SaharaLater/article/details/111564460