def upper_attr(future_class_name, future_class_parents, future_class_attr): print 'im in upper_attr' open(r'd:\desktop\123.txt','w').write('nhahahklhfaskjhdf') attrs = ((name, value) for name, value in future_class_attr.items() if not name.startswith('__')) uppercase_attr = dict((name.upper(), value) for name, value in attrs) return type(future_class_name, future_class_parents, uppercase_attr)__metaclass__ = upper_attrclass Foo(object): bar = 'bip'print hasattr(Foo, 'bar')print hasattr(Foo, 'BAR')f = Foo()
输出如下:
d:\Desktop\python_example>demo.py
True
False
d:\Desktop\python_example>
网上的一个例子,首先说,这个例子是有效的。然后题主想调试一下。看看到底是如何运行的。
请看上文中的这两句。
print 'im in upper_attr'open(r'd:\desktop\123.txt','w').write('nhahahklhfaskjhdf')
没响应。
然后我在这个函数中设断点也进不去。
相关分类