为了账号安全,请及时绑定邮箱和手机立即绑定

在python中的类函数中更改全局变量

在python中的类函数中更改全局变量

慕码人8056858 2021-07-02 06:00:35
我之前看过有关此问题的问题,但我无法在类函数中重新创建全局变量的更改:test = 0class Testing:    def add_one():        global test        test += 1当我输入时Testing.add_oneprint (test)它打印“0”。如何获取类中的函数以添加一个进行测试?
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

你没有调用函数。如果你这样做了,你会得到一个 TypeError


应该是这样的


test = 0

class Testing(object):

    @staticmethod

    def add_one():

        global test

        test += 1


Testing.add_one()


查看完整回答
反对 回复 2021-07-13
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您应该调用该方法。那么只有它会增加变量的值test。


In [7]: test = 0

   ...: class Testing:

   ...:     def add_one():

   ...:         global test

   ...:         test += 1                                                                                                                                                                


# check value before calling the method `add_one`

In [8]: test

Out[8]: 0


# this does nothing

In [9]: Testing.add_one

Out[9]: <function __main__.Testing.add_one()>


# `test` still holds the value 0

In [10]: test

Out[10]: 0


# correct way to increment the value

In [11]: Testing.add_one()


# now, check the value

In [12]: test

Out[12]: 1


查看完整回答
反对 回复 2021-07-13
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

试试这个,

//img1.sycdn.imooc.com//60ed7aec00016b7603570095.jpg

test = 0

class Testing:

    def add_one(self):

        global test

        test += 1

        print(test)


t = Testing()

t.add_one()


查看完整回答
反对 回复 2021-07-13
  • 3 回答
  • 0 关注
  • 466 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信