python通过函数属性实现全局变量

2022-03-11 00:00:00 函数 全局变量 属性

python通过函数属性实现全局变量,python的函数可以定义属性,而且是全局的,这个非常好用,例如用于数字累加,你不用专门去定义一个全局变量,使用函数的属性即可。

"""
皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/28
功能描述:python通过函数属性实现全局变量
"""


def add(x=1):
    try:
        add.sum += x
    except AttributeError:
        add.sum = x
    return add.sum


print(add(3))
print(add(4))
print(add(10))


class Ax(object):
    def __init__(self, val=0):
        self.sum = val

    def __call__(self, x=1):
        self.sum += x
        return self.sum


add = Ax()
print(add(3))
print(add(4))
print(add(10))

输出结果如下:
3
7
17
3
7
17

相关文章