Skip to main content
 首页 » 编程设计

python之python中的实例

2025年05月04日12leader

我创建了以下示例来理解 python 中的实例

import time; 
class test: 
    mytime = time.time();    
    def __init__(self): 
        #self.mytime = time.time(); 
        time.sleep(1); 
        pass 
 
 
from test import test 
 
test1 = test() 
test2 = test() 
 
print test1.mytime 
print test2.mytime 
 
test1.mytime = 12 
 
print test1.mytime 
print test2.mytime 

在这种情况下,输出 ID 如下:

1347876794.72 
1347876794.72 
12 
1347876794.72 

我预计 test2.mytime 比 test1.mytime 大 1 秒。为什么不在每个实例中创建一个关于 mytime 的副本?

请您参考如下方法:

让我们看看这些行:

class test: 
   mytime = time.time();    

这里设置了类成员值,在类定义执行时计算一次,所以time.time()在包含的模块时计算一次加载类测试。

class test 的每个实例都将收到该预先计算的值,您必须覆盖该值(例如在 __init__ 方法中),通过 self 访问它(这是一个特殊的存储对实例的引用的参数),从而设置实例成员值。