小编XOp*_*lay的帖子

谁持有对乔的引用?用于析构函数/清理的 Pythonic 方法?

我有以下 Python 代码:

#!/usr/bin/python3

import time

class Greeter:
    def __init__(self, person):
        self.person = person
        print("Hello", person);

    def __del__(self):
        print("Goodbye", self.person);

    def inspect(self):
        print("I greet", self.person);

if __name__ == '__main__':
    to_greet = []
    try:
        to_greet.append(Greeter("world"));
        to_greet.append(Greeter("john"));
        to_greet.append(Greeter("joe"));

        while 1:
            for f in to_greet:
                f.inspect()
            time.sleep(2)

    except KeyboardInterrupt:
        while (len(to_greet) > 0):
            del to_greet[0]
        del to_greet
        print("I hope we said goodbye to everybody. This should be the last message.");
Run Code Online (Sandbox Code Playgroud)

当我运行它并Ctrl+C在睡眠期间,我得到:

Hello world
Hello john
Hello joe
I greet world
I …
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
72
查看次数

标签 统计

python ×1