每当我调用一个方法时,我想让值减少1。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每当我调用一个方法时,我想让值减少1。相关的知识,希望对你有一定的参考价值。
有没有办法让我每次调用该方法时,数值都减少1。
我尝试的代码是
Class Testing:
max_count = 5
def update_count(self, reducebyone):
actual_count = max_count
updated_count = actual_count - reducebyone
resetcount = updated_count
print(actual_count)
print(updated_count)
print(resetcount)
obj = Testing()
obj.update_count(1)
obj.update_count(1)
我期望的结果是,当方法第一次调用时,我期望OP是:544,第二次调用时,我期望OP是:433,有人能帮助我吗?
答案
你的所有变量都是方法的本地变量。你需要在方法中存储 count
类或实例中的状态。你调用方法的方式表明你追求的是后者。
class Testing:
def __init__(self):
self.count = 5
def update_count(self, reducebyone):
print(self.count)
self.count -= reducebyone
print(self.count)
>>> obj = Testing()
>>> obj.update_count(1)
5
4
>>> obj.update_count(1)
4
3
另一答案
这是你想要的吗?我认为循环会更好,但我不知道你想达到什么目的。
class Testing:
max_count = 5
cur_count = max_count
def update_count(self, reducebyone):
self.cur_count -= reducebyone
resetcount = self.cur_count
print(self.max_count)
print(self.cur_count)
print(resetcount)
obj = Testing()
obj.update_count(1)
obj.update_count(1)
输出。
5
4
4
5
3
3
另一答案
是的,有很多方法可以达到这个目的!
最简单的方法是添加 self.max_count = updated_count
在计算完 update_count 后,你还需要访问 此外,你还需要访问 max_count
惯用 self.max_count
以上是关于每当我调用一个方法时,我想让值减少1。的主要内容,如果未能解决你的问题,请参考以下文章
每当我运行我的片段时,这行代码 mapFragment.setRetainInstance(true);正在崩溃我的应用程序? [关闭]