我想在方法中定义一个属性:
class variables:
def definition(self):
self.word = "apple"
然后我想使用定义的属性:
test = variables()
print test.definition.word
我没有写'apple'
,而是收到一个错误:
Traceback (most recent call last):
File "bezejmenný.py", line 6, in <module>
print test.definition.word
AttributeError: 'function' object has no attribute 'word'
最佳答案
definition
是一个方法所以你需要执行它因为您正在为自己分配一个变量,所以您可以通过您的实例访问它,如下所示
test = variables() test.definition() print test.word
一些想法:
- 最佳做法是类名以大写字母开头
- 如果你只是想让你的类有一个字段,你不需要你的
定义
方法 用
object
扩展你的类,因为 python 中的一切 都是对象(仅限 python 2.x)class Variables(object): def __init__(self): self.word = 'I am a word' variables = Variables() print variables.word
关于python - OOP 属性定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33501611/