Python返回值及变量作用域规则LEGB

版权声明:本文为博主原创文章,未经博主允许不得转载。不准各种形式的复制及盗图 https://blog.csdn.net/qq_26816591/article/details/88219604
# 返回值
# 返回给函数调用者
# 作用:1.结束函数 2.返回某个对象
def add(*args):
    sum = 0
    for i in args:
        sum += i
    print(sum)
    return sum


a = add(4, 5, 8, 75, 6, 8, 4, 5, 5)

print(a)  # 如果没有return sum 就会显示打印的是None

# 注意
# 1.函数如果没有return 会默认返回None
# 2.return 多个对象,那么会把所有的对象封装成一个元组返回
# 3.return 结束函数


# 作用域

if True:
    x = 3

print(x)


def f():
    b = 10

# print(b)  # 不在作用域 NameError: name 'b' is not defined

# L:local 局部作用域,即函数中定义的变量
# E:enclosing 嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的
# G:globa 全局变量 就是模块级别定义的变量
# B:built-in, 系统固定模块里面的变量,比如int bytearray等。搜索变量的优先级顺序依次是:局部作用域>外层作用域>当前模块中的全局作用域>python内置作用域
# 也就是LEGB

要点:

  •  返回值,返回给函数调用者
  • 作用:结束函数、返回某个对象
  • 如果没有返回值,则调用函数会默认返回None
  • 如果返回 类似:return 1,2,3,4 多个对象,则会把返回对象封装成一个元组返回
  •  注意变量作用域规则:LEGB 详情查看代码注释

猜你喜欢

转载自blog.csdn.net/qq_26816591/article/details/88219604