pycharm中__getattr__与__getattribute__的问题
与视频代码一样,但是在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__ 之类的也会这样
Twilight6 发表于 2021-6-16 19:00
PyCharm 或者其他编译器的控制台,打印多次是正常现象
可能是因为 PyCharm 之类的编译器有着完整的 ...
谢谢!我试着不用console直接输出就好了
页:
[1]