我正在學習python出「核心python編程第二版」聲明python類,並創建類實例。 (核心Python編程)
我卡在部分「如何創建類實例」。第84頁
的例子如下:
classes.py:
class FooClass(object):
"""my very first class: FooClass"""
version = 0.1 # class (data) attribute
def __init__(self, nm='John Doe'):
"""constructor"""
self.name = nm # class instance (data) attribute
print'Created a class instance for', nm
def showname(self):
"""display instance attribute and class name"""
print 'Your name is', self.name
print 'My name is', self.__class__.__name__
def showver(self):
"""display class(static) attribute"""
print self.version # references FooClass.version
def addMe2Me(self, x): # does not use 'self'
"""apply + operation to argument"""
return x + x
然後我要創建類實例:
在我的翻譯我做如下:
Import classes *
fool = FooClass()
但沒有任何事情發生。它應該打印init。
也當我使用
fool.showname()
和fool.showver
它不打印任何。它說
FooClass'對象有沒有屬性「showver
我真的想知道是什麼回事,我再繼續。 希望有人能幫助我!
在此先感謝! :)
你是用大寫I還是小寫我輸入'import'? – 2013-03-01 11:41:17
你的代碼是如何在文件中縮進的?即'def'行與'class'處於同一級別?如果是這樣,他們不屬於班級,而是功能,而不是方法。 – DSM 2013-03-01 11:42:07
函數實際在類定義中還是它們是分開的? – Volatility 2013-03-01 11:42:14