2007年07月02日 星期一 10:54
哪位大虾能帮忙给解释一下。不解决担心以后再碰到类似的情况 -----邮件原件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 lubiao 发送时间: 2007年6月29日 11:33 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese]答复: 答复: 类变量的问题!怪异!! On 6/29/07, snoop <hgli0904 at gmail.com> wrote: > 从错误信息"Exception exceptions.AttributeError: "'NoneType' object has no > attribute 'population'" in> <__main__.Person instance at 0xb7c413cc>> > ignored"来看,是类先del了。但是搞不懂为什么使用有 > 些变量(f、karlm)等不会被del,但是使用ff、fff、klarm等会被del。使用win和 > linux下的环境都这样 > 我猜 不是 不被 del ,而是 del 的 次序 不同, 次序 与名字相关, 我猜 引用名 装在 散列桶里, 没有次序。 _______________________________________________ python-chinese Post: send python-chinese at lists.python.cn Subscribe: send subscribe to python-chinese-request at lists.python.cn Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn Detail Info: http://python.cn/mailman/listinfo/python-chinese 下面的一段代码是从《简明Python教程》里面摘取出来的一个sample【问题的产生跟摘 取没有关系】。有个奇怪的问题,下面代码部分标记红色的变量使用不同的变量时会报 错! 如使用"karlm"、"f"等变量名时运行正常,但是使用"klarm"、"ff"、"fk"等时运行程 序会报错: Exception exceptions.AttributeError: "'NoneType' object has no attribute 'population'" in <__main__.Person instance at 0xb7c413cc>> ignored 没搞明白什么原因,哪位大虾指点一下!! #!/usr/bin/python class Person: population = 0 def __init__(self, name): self.name = name print '(Initializing %s)' % self.name Person.population += 1 def __del__(self): print '%s says bye.' % self.name Person.population -= 1 if Person.population == 0: print 'I am the last one.' else: print 'There are still %d people left.' % Person.population if __name__ == "__main__": swaroop = Person('Swaroop') karlm = Person('Abdul Kalam')
2007年07月06日 星期五 20:08
我python2.5 都没有什么问题。 在07-7-2,snoop <hgli0904 at gmail.com> 写道: > > 哪位大虾能帮忙给解释一下。不解决担心以后再碰到类似的情况 > > -----邮件原件----- > 发件人: python-chinese-bounces at lists.python.cn > [mailto:python-chinese-bounces at lists.python.cn] 代表 lubiao > 发送时间: 2007年6月29日 11:33 > 收件人: python-chinese at lists.python.cn > 主题: Re: [python-chinese]答复: 答复: 类变量的问题!怪异!! > > On 6/29/07, snoop <hgli0904 at gmail.com> wrote: > > 从错误信息"Exception exceptions.AttributeError: "'NoneType' object has no > > attribute 'population'" in> > <__main__.Person instance at 0xb7c413cc>> > > ignored"来看,是类先del了。但是搞不懂为什么使用有 > > 些变量(f、karlm)等不会被del,但是使用ff、fff、klarm等会被del。使用win和 > > linux下的环境都这样 > > > > 我猜 不是 不被 del ,而是 del 的 次序 不同, 次序 与名字相关, > > 我猜 引用名 装在 散列桶里, 没有次序。 > _______________________________________________ > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070706/5726ee18/attachment.html
Zeuux © 2025
京ICP备05028076号