Python类没有调用?一圈?

2024-04-27 02:20:43 发布

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

我最近开始上课,有两个问题。你知道吗

  1. 我知道,与函数一样,python必须在发出或启动任何调用之前通读所有类行一次。 &燃气轮机; 编辑>;>;>;所以我想知道,有没有可能在python自动启动的第一个调用中运行整个程序? &燃气轮机; 严格在类外运行整个程序,而不进行任何调用或实例。

  2. 另一件我很好奇的事情是,是否有一种方法可以从一个类中运行循环,比如'while'或者甚至'for x in y'。本质上,我想知道的是是否有一种方法可以“继承”正在运行的循环。

示例:

class Loop:
    def __init__(self, exit=0):
        print "loop initiated"
        self.exit = exit

    def myloop(self): ##This was edited
        while self.exit == 0:
            print "look at me, I'm Looping!"

class Clock(Loop):

    def loopexit(self):
        print "one day I will close that loop"
        pass

    def tick(self):
        print "who knows what I might do one day"
        pass

aclock = Clock(exit=0)

alcock.myloop() #This was edited
aclock.loopexit() #This was edited

请记住,这个示例显然不起作用,因为在myloop()运行时无法进行exit调用。 &燃气轮机; EDIT>;>;我加入这个例子是为了说明我在理论上是如何关闭这个循环的,尽管很明显它不起作用。基本上,我想找到一个更接近这个例子的解决方案。 &燃气轮机; 我也意识到可以从myloop()内部调用exit,但请记住这主要是关于继承的问题。你知道吗

为了简单起见,假设从myloop()内部关闭不是一个选项。你知道吗

我能想到的唯一一个临时解决方案是在myloop()中使用*args作为参数,但我更喜欢不太依赖myloop()的方法。你知道吗

感谢所有反馈

谢谢


Tags: 方法gtself程序示例defexitthis
1条回答
网友
1楼 · 发布于 2024-04-27 02:20:43

至于你的第一个问题: 是的,一个人可以在根本不使用类或函数的情况下编写Python程序: 所有的条件都是按遇到它们的顺序执行的

2)你肯定在混合一些概念,但一般来说 “yes”-如果循环正在运行,则可以停止在另一个方法中运行的循环 与那个循环平行,在一个单独的线程中, 或者使用某种异步编程形式(以便 另一个方法中的代码在循环运行时执行) 然而,这与继承无关。(请注意 你的例子不会启动循环,而且, 你会和self.exit有名字冲突-

相关问题 更多 >