Pat*_*ook 0 python class subclass python-2.7
我正在学习类,当我调用类"Animal"时,它给出了错误:"Str对象不可调用"
这是我的代码:
class Animal(object):
def __init__(self, name):
self.name = name
def name(self):
print '%s' %(self.name)
rock=Animal("rock")
rock.name()
Run Code Online (Sandbox Code Playgroud)
设置时self.name = name,您将隐藏方法.现在rock.name指的是字符串"rock",而不是方法:Animal.name.
一个可能的解决方
class Animal(object):
def __init__(self, name):
self._name = name
def name(self):
print '%s' %(self._name)
rock=Animal("rock")
rock.name()
Run Code Online (Sandbox Code Playgroud)
但是,当然,如果你做了这个改变,你会得到一个令人惊讶的结果:
print rock.name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |