|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
与视频代码一样,但是在pycharm中运行好像不正确。
代码如下:
class C(object):
def __getattribute__(self, name):
print('getattribute')
return super(object).__getattribute__(name)
def __getattr__(self, name):
print('getattr')
def __setattr__(self, name, value):
print('setattr')
super(object).__setattr__(name, value)
def __delattr__(self, name):
print('delattr')
super(object).__delattr__(name)
在实例化之后就成了这样:
c1 = C()
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattr
getattribute
getattr
getattribute
getattr
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattr
getattribute
getattr
getattribute
getattr
getattribute
getattribute
getattribute
getattr
getattribute
getattr
getattribute
getattr
getattribute
getattribute
getattribute
getattribute
getattribute
getattribute
getattr
getattribute
getattr
getattribute
getattr
-----------------------------------------------------------------------------------------------------------------------
但是在python IDLE中就运行正确。
pycharm用的python解释器为python3.7。
请问有没有人知道是为什么
PyCharm 或者其他编译器的控制台,打印多次是正常现象
可能是因为 PyCharm 之类的编译器有着完整的内置环境
所以不必在意,这个不影响正常运行代码
而且不止 __getattr__ ,连 __setattr__ 之类的也会这样
|
|