元类会自动将你通常传给‘type’的参数作为自己的参数传入
来源:互联网 发布:多线程编程java例题 编辑:程序博客网 时间:2024/05/20 19:15
元类会自动将你通常传给‘type’的参数作为自己的参数传入
def upper_attr(future_class_name, future_class_parents, future_class_attr):'''返回一个类对象,将属性都转为大写形式'''# 选择所有不以'__'开头的属性 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)# 通过'type'来做类对象的创建 return type(future_class_name, future_class_parents, uppercase_attr)class Foo(object): __metaclass__ = upper_attr # 在这里定义__metaclass__,这样就只会作用于这个类中 bar = 'bip'print hasattr(Foo, 'bar')# 输出: Falseprint hasattr(Foo, 'BAR')# 输出:Truef = Foo()print f.BAR
运行结果如下:
Python 2.7.13 (default, Jan 12 2017, 17:59:37) [GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> FalseTruebip>>>
0 0
- 元类会自动将你通常传给‘type’的参数作为自己的参数传入
- 将TYPE作为函数的参数传进泛型
- 将参数传给UIAlertView的 Delegate
- 指针作为参数传入函数的陷阱
- .net 如何将datatable作为参数传入sql的存储过程
- 将程序的参数传入grid++report
- 如何将二维数组作为参数传给一个函数
- 如何将uboot里面的参数传给recovery或kernel
- 如何将uboot里面的参数传给recovery或kernel
- 如何将uboot里面的参数传给recovery或kernel
- 如何将uboot里面的参数传给recovery或kernel
- 如何将uboot里面的参数传给recovery或kernel
- loadrunner将参数化的数据传给变量
- Gradle传给虚拟机的参数
- Gradle传给虚拟机的参数
- 二维数组和二级指针作为参数传给参数的方式
- ibatis中使用List作为传入参数的使用方法
- 中文作为参数传入 window.showModalDialog出现乱码的解决办法
- 隐藏NavigationBar下边线
- Java常见内存溢出(OOM)解决方案
- rm -rf或者rmdir失败的特殊情况
- js 精确的乘法结果
- Docx4j获取文档中的图片
- 元类会自动将你通常传给‘type’的参数作为自己的参数传入
- gcc 编译顺序问题
- 用原生js写个class切换
- mongodb创建用户
- Andoird-接入微信分享
- 基于机器学习的web异常检测
- 两个arrayList合并
- Eclipse的Debug调试技巧大全(精华版)
- 网络编程