python 面向对象基础
发布网友
发布时间:2022-04-21 05:58
我来回答
共2个回答
热心网友
时间:2022-05-10 09:09
class Test:
def setdata(self, value):
self.data = value
def display(self):
print self.data
x = Test()
y = Test()
x.setdata("test")
y.setdata(123456)
x.display()
y.display()
=======================
x.setdata = "test"
y.setdata = 123456
修改为
x.setdata("test")
y.setdata(123456)
这样就行了。
原因是Test对象中没有setdata属性,只有setdata方法,方法是通过setdata()这种形式调用的。
希望能对你有所帮助!
热心网友
时间:2022-05-10 10:27
在你的例子中为实例x, y的setdata属性赋值,但没有使用setdata()方法为对象的data属性赋值。
故而在display()时,没有实例的data属性可被print.