Python中只有实例属性,没有实例方法
请问这句话对吗:Python中只有实例属性,没有实例方法。{:10_254:} 当然不对,
参数里面带有self的都是实例的方法。 你要是愿意也可以写实例方法
不过没人这么干 qiuyouzhi 发表于 2020-4-28 13:56
当然不对,
参数里面带有self的都是实例的方法。
按照他的意思,这些都应该算作类方法…… 永恒的蓝色梦想 发表于 2020-4-28 13:58
按照他的意思,这些都应该算作类方法……
对,我的意思是,在实例对象自己的存储空间中,他存放的只有实例属性,方法应该只能是调用吧? 永恒的蓝色梦想 发表于 2020-4-28 13:58
按照他的意思,这些都应该算作类方法……
噢,是吗
liliya 发表于 2020-4-28 14:01
对,我的意思是,在实例对象自己的存储空间中,他存放的只有实例属性,方法应该只能是调用吧?
世界上本来不存在方法,叫的人多了,也就有了方法。方法就是一个对象,跟属性没有任何区别。 永恒的蓝色梦想 发表于 2020-4-28 14:02
方法就是一个对象,跟属性没有任何区别。
大佬,能不能解决我个问题鸭。 liliya 发表于 2020-5-3 11:17
大佬,能不能解决我个问题鸭。
好啊 永恒的蓝色梦想 发表于 2020-5-3 11:19
好啊
就是我最近学到了__get__方法这不太明白了,我不是特别能够区分__get__跟__getattribute__的区别。
class C:
def __get__(self,insatnace,owner):
print('调用get魔法方法')
class B:
x=C()
def __getattribute__(self):
print('调用getattribute魔法方法')
#主程序
b=B()
b.x
这个里面x具有描述符类A。在我没有定义B类的 __getattribute__(self)方法的时候,b.x是会去调用A这个描述符类的__get__方法的。但是,如果我定义了B类的__getattribute__(self)方法,我再去b.x它会调用B类的__getattribute__(self)而不是A类的__get__方法了。这里面是不是有我不知道什么优先级问题啊。 liliya 发表于 2020-5-3 11:22
就是我最近学到了__get__方法这不太明白了,我不是特别能够区分__get__跟__getattribute__的区别。
clas ...
不是A是C打错了。描述符类C liliya 发表于 2020-5-3 11:23
不是A是C打错了。描述符类C
对类属性的访问都要经过 getattribute 永恒的蓝色梦想 发表于 2020-5-3 11:32
对类属性的访问都要经过 getattribute
那是说原来的系统写好的那个getattribute方法,他存在什么“箭头”指向了调用__get__方法嘛,因为我自己写的程序改了之后是没办法去调用到__get__方法的。 liliya 发表于 2020-5-3 11:34
那是说原来的系统写好的那个getattribute方法,他存在什么“箭头”指向了调用__get__方法嘛,因为我自己 ...
这点不清楚,没用过描述符{:10_327:} 永恒的蓝色梦想 发表于 2020-5-3 11:36
这点不清楚,没用过描述符
感觉PYTHON的封装性真实了,总会遇到一些不知道原来代码到底怎么写得例子。
页:
[1]