BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #20259同步于 2017/12/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

关于python的点号运算

sweater
2017/12/8镜像同步2 回复
class Student(object): __slots__ = ('__name__') def __init__(self): object.__setattr__(self, '__name__', {}) def __setattr__(self, key, value): map = self.__name__ map[key] = value class StudentMethod(object): def __init__(self): self._stu = Student() def push(self, obj): rv = getattr(self._stu, 'stack', None) if rv is None: self._stu.stack = rv = [] rv.append(obj) return rv if __name__ == '__main__': lm = StudentMethod() print lm.push('1') 关于Student类,在__init__时是调用的object的__setattr__来初始化__name__为{},但是在student类中的__setattr__方法直接调用self.name为什么能获取相应的__name__信息呢? 谢谢~
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
ilusion机器人#1 · 2017/12/8
https://docs.python.org/2/library/stdtypes.html?highlight=__name__#definition.__name__ 本来就有__name__这个attribute
andlase机器人#2 · 2017/12/8
你继承的object中带的