【发布时间】:2011-01-26 20:22:51
【问题描述】:
我正在尝试理解这段代码:
class Person:
'''Represents a person '''
population = 0
def __init__(self,name):
//some statements and population += 1
def __del__(self):
//some statements and population -= 1
def sayHi(self):
'''grettings from person'''
print 'Hi My name is %s' % self.name
def howMany(self):
'''Prints the current population'''
if Person.population == 1:
print 'i am the only one here'
else:
print 'There are still %d guyz left ' % Person.population
rohan = Person('Rohan')
rohan.sayHi()
rohan.howMany()
sanju = Person('Sanjivi')
sanju.howMany()
del rohan # am i doing this correctly?
析构函数是如何被调用的——自动调用还是我必须像上面那样在“主”程序/类中添加一些东西?
输出:
初始化人员数据
******************************************
初始化 Rohan
******************************************
现在的人口是:1
嗨,我叫罗汉
我是这里唯一的一个
初始化人员数据
******************************************
初始化 Sanjivi
******************************************
现在的人口是:2
如果人死了:
******************************************
三吉维再见世界
还有1人
我是这里唯一的一个
如果人死了:
******************************************
洛汗再见世界
我是地球上最后一个人
现在的人口是:0
如果需要,我也可以粘贴整个课程。我正在学习: http://www.ibiblio.org/swaroopch/byteofpython/read/
【问题讨论】:
-
请学会使用代码示例所需的缩进。
-
您的问题是什么?如果您可以总结您的问题,这将有助于我们回答。如果那本书没有帮助,那么还有几十本书可能更有帮助。
-
如果我错了,请纠正我,但我认为他希望有人用简单的英语向他解释构造函数和解构函数。只是预感。
-
就像 dclowd9901 说我希望有人用英语解释构造函数和解构函数——如果我不清楚,我很抱歉——我对编程很陌生——感谢任何帮助。
-
"explain" 含糊不清——它可能意味着任何东西。它可能意味着“解释它是如何由编译器实现的”或“解释它如何映射到关系数据库”或“解释为什么这段代码不起作用”或“解释为什么我什至关心 OO 设计”。很抱歉我太啰嗦了,但“解释”似乎是开放式的,很难回答。
标签: python class destructor