首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python面向对象编程Day 27部分

    使用点来访问属性本质就是在访问类或对象的__dict__属性字典(类的字典是共享的,而每个实例是独立的)   特点:不允许设置其他数据属性。  ...__next__和__iter__实现迭代器协议 1 class Foo: 2 def __init__(self,n): 3 self.n=n 4 def __...iter__(self): 5 return self 6 7 def __next__(self): 8 if self.n == 13: 9...__get__():调用一个属性时触发   __set__():为一个属性赋值时触发   __delete__():采用del删除属性时触发 描述符有什么用?...,被代理的类也应该是新式类;   2.必须把描述符定义成类属性,而不能定义到构造函数中;   3.要严格遵循该优先级,从高到低:     类属性---数据描述符---实例属性---非数据描述符---找不到的属性触发

    29830

    python _、__和__xx__的区别

    _xx 单下划线开头 Python中没有真正的私有属性或方法,可以在你想声明为私有的方法和属性前加上单下划线,以提示该属性和方法不应在外部调用.如果真的调用了也不会出错,但不符合规范...."xx"前后各双下划线 当你看到"this"的时,就知道不要调用它。为什么?因为它的意思是它是用于Python调用的,如下: >>> name = "igor" >>> name....在特殊的情况,它只是python调用的hook。例如,init()函数是当对象被创建初始化时调用的;new()是用来创建实例。...return self.n - other def __sub__(self, other): return self.n + other def __str__(self):...使用_one_underline来表示该方法或属性是私有的,不属于API; 当创建一个用于python调用或一些特殊情况,子类不能覆盖的那些父类方法时,使用two_underline; 使用__just_to_underlines

    85430
    领券