嘿家伙所以我得到这个"TypeError:'int'对象不可调用"错误,当我运行此代码时,我做了一些研究,我认为这是我的变量命名的东西?有人可以向我解释有什么问题吗?
class account(object):
def set(self, bal):
self.balance = bal
def balance(self):
return balance
Run Code Online (Sandbox Code Playgroud)
这是我的示例运行:
>>> a = account()
>>> a.set(50)
>>> a.balance()
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
a.balance()
TypeError: 'int' object is not callable
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 13
您正在balance使用实例属性屏蔽您的方法balance.重命名其中一个.您可以通过使用下划线预先挂起实例属性来重命名该实例属性,例如:
def set(self, bal):
self._balance = bal
def balance(self):
return self._balance
Run Code Online (Sandbox Code Playgroud)
实例上的属性胜过类上的属性(数据描述符除外;想想propertys).从类定义文档:
类定义中定义的变量是类属性; 它们由实例共享.可以在方法中设置实例属性
self.name = value.类和实例属性都可以通过符号"self.name" 访问,并且实例属性在以这种方式访问时会隐藏具有相同名称的类属性.
| 归档时间: |
|
| 查看次数: |
9751 次 |
| 最近记录: |