关于类的求助
class testclass:data = 100
def setpdata(self,value):
self.pdata = value
def showpdata(self):
print('self.pdata=',self.pdata)
print('类testclass加载完成')
想问下各位大佬,第四行的self.pdata是什么?查了下网上,self指的是实例自己,但.pdata是啥么鬼?类通过对象名.属性名调用类属性,但这个类里面搞个函数写个self.pdata = value 是什么意思? 本帖最后由 CH10 于 2020-9-10 11:22 编辑
{:10_277:}.pdata和data一样的都是testclass的成员变量,你调用setdata(100)就会在testclass产生pdata这个成员变量并且赋值为100
补充一下,如果没有调用setdata(),pdata这个变量是不存在的
class ds:
def setb(self, b):
self.a=b
def showb(self):
return self.a
a=ds()
#print(a.a)
a.setd(10)
print(a.a) 就是自己弄了个参数,方便类里面的其他函数调用,按我的理解 CH10 发表于 2020-9-10 11:05
.pdata和data一样的都是testclass的成员变量,你调用setdata(100)就会在testclass产生pdata这个 ...
那self.pdata = value和data = 100有什么区别呢?都是成员变量,但语法不一样,莫得区别吗? scc1992226 发表于 2020-9-10 13:21
那self.pdata = value和data = 100有什么区别呢?都是成员变量,但语法不一样,莫得区别吗?
区别不是很明显么,data变量,你创建testclass就会产生了,pdata变量只有你调用setdata的方法的时候才会出现 scc1992226 发表于 2020-9-10 13:21
那self.pdata = value和data = 100有什么区别呢?都是成员变量,但语法不一样,莫得区别吗?
data这个变量在实例后你改变不了。pdata你可以通过实例的setpdata方法在程序里随时修改。 fall_bernana 发表于 2020-9-10 14:26
data这个变量在实例后你改变不了。pdata你可以通过实例的setpdata方法在程序里随时修改。
是不是data是类变量,而pdata是实例变量,而self就指向了那个实例,所以是self.pdata.
这样理解对吗? CH10 发表于 2020-9-10 14:15
区别不是很明显么,data变量,你创建testclass就会产生了,pdata变量只有你调用setdata的方法的时候才会 ...
是不是data是类变量,而pdata是实例变量,而self就指向了那个实例,所以是self.pdata.
这样理解对吗?
页:
[1]