如何更改int和boolean主.py从事件.py

2024-04-29 14:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

Python新手需要帮助!我的问题如下:

假设我有booleans(b\u lesscookies和b\u morecokies)和int(Cookiecount)主.py你知道吗

import events
bring_events = events.c_cookiethings()

Cookiecount = 4

b_lesscookies = True
b_morecookies = False

done = False
while not done:
    if b_lesscookies == True:
        bring_events.f_lesscookies()
    elif b_morecookies == True:
        bring_events.f_morecookies()

那我有事件.pyCookiecount和bèu lesscookies会发生什么事主.py不只是不断降低Cookiecount:

class c_cookiethings():

    def f_lesscookies(self):
        Cookiecount -= 1
        b_lesscookies = False 

    def f_morecookies(self):
        Cookiecount += 1

我怎样才能变得主.py事件.py相互沟通Cookiecountlesscookiesmorecookies的变化?就像这里,使bèlesscookies=False这样循环主.py不是一直把库克数降低太多吗?你知道吗

我试过几件事,但都不管用。试图用谷歌搜索我的问题,但找不到完全相同的问题。抱歉,如果我的问题是常见的问题,我一直问许多其他Python新手都有相同的问题。你知道吗

提前谢谢!你知道吗


Tags: pyselffalsetruedef事件eventsdone
1条回答
网友
1楼 · 发布于 2024-04-29 14:33:15

解决这个问题的许多方法之一就是, b_morecookiesCookiecountclass variables。可能是这样的:

class c_cookiethings():         
    b_lesscookies = True
    b_morecookies = False
    Cookiecount = 4

    def f_lesscookies(self):
        self.Cookiecount -= 1
        self.b_lesscookies = False 

    def f_morecookies(self):
        self.Cookiecount += 1

以及:

import events
bring_events = events.c_cookiethings()

done = False
while not done:
    if c_cookiethings.b_lesscookies == True:
        bring_events.f_lesscookies()
    elif c_cookiethings.b_morecookies == True:
        bring_events.f_morecookies()

正如评论中提到的,您也可以使用全局变量,但这通常被认为是一种不好的做法。另一种解决方案是将您希望从不同脚本获得的值存储在文件或数据库中,但对于如此少量的数据来说这是不实际的。我认为在这种情况下,使用类变量是最干净的解决方案。另外,请阅读instance and class variables之间的区别,因为可能您的代码可以重新设计为使用实例变量,这在我看来会更干净。你知道吗

相关问题 更多 >