但是如何定义成员函数,以便类可以等效为:class X(object):

a = 1

def get_a(self):

return self.a

这个问题是由向给定的自定义枚举类型添加iterable功能引起的。

在我的项目中,这里有一个旧的自定义枚举类型:

^{pr2}$

它的用途如下:MY_COLORS = enum(RED=0,BLUE=1)

但此方法定义的枚举不能用作“for in”语句中的iterable对象。我希望添加一个成员函数来返回枚举的键、值和项。然后我可以这样做:[item for item in MY_COLORS.keys()]

回答Python3:def enum(*sequential, **named):

""" Contruct an enum """

enums = dict(zip(sequential, range(len(sequential))), **named)

reverse = dict((value, key) for key, value in enums.items())

key_names = list(enums.keys())

enums['reverse_mapping'] = reverse

@classmethod

def keys(klass):

return key_names

enums['keys'] = keys

return type('Enum', (), enums)

python 类函数 成员函数_python内置函数类型,如何为新类型定义成员函数?相关推荐

  1. decode函数_Python 内置函数总一

    内置函数 python内置函数,截至python3.6.2版本之前一共68个内置函数,内置函数是可以直接使用的函数. Python标准库/内置函数链接:点击此处 内置函数分类 作用域相关 基于字典的形 ...

  2. python内置方法就是内置函数_python内置函数

    什么是内置函数? 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直 ...

  3. python filter内置函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

  4. python中dir用法_Python内置函数dir详解

    1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: >>> help(dir) Help on built-in function dir in mo ...

  5. python内置的数字运算函数_Python 内置函数1

    abs(x)函数 返回绝对值 参数可以是:负数.正数.浮点数或者长整形 print(abs(-1.2)) # 结果1.2 cmp(x, y)函数 (python3已删) 中文说明: 比较两个对象x和y ...

  6. python property函数_Python内置函数property()如何使用

    代码 class Shuxing(): def __init__(self, size = 10): self.size = size def getSize(self): print('getSiz ...

  7. exec是不是python的内置函数_Python内置函数(62)——exec

    英文文档: exec(object[, globals[, locals]])This function supports dynamic execution of Python code. obje ...

  8. python compile函数_python 内置函数 compile()

    python 内置函数 compile() 这个函数用来编译一段字符串的源码,结果可以生成字节码或者AST(抽像语法树),字节码可以使用函数exec()来执行,而AST可以使用eval()来继续编译. ...

  9. python 乘法内置函数_Python内置函数--reversed()

    python内置了一些非常精巧且强大的函数,对初学者来说,一般不怎么用到,但是偶尔会碰到,我也是用了一段时间python之后才发现,哇还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函 ...

最新文章

  1. 字节二面:GET 请求能上传图片吗?我蒙了。。
  2. 乌鸦可能是灵长类动物以外最聪明的动物
  3. linux的 0号进程(idle进程) 和 1 号进程(init进程)
  4. Http、Socket、WebSocket之间联系与区别
  5. tomcat用户配置
  6. 炫酷实用的jQuery插件 涵盖菜单、按钮、图片
  7. Codeforces 924D Contact ATC (看题解)
  8. python两个编程环境_多个python Behave环境安装文件
  9. matlab2c使用c++实现matlab函数开发配置全解
  10. ROS的学习(十二)用C++写一个简单的发布者
  11. 北大核刊最新版2020目录_重磅!最新版CSSCI 来源期刊目录(2019-2020)
  12. 董明珠为什么选择长沙?
  13. Microsemi Libero SoC 教程1 (Libero开发环境)
  14. 爆款养成思路,教你利用砍价做出刷屏活动!
  15. 【Unity入门计划】Unity2D动画(1)-动画系统的组成及功能的使用
  16. 我的android足迹
  17. js二级联动,购物车
  18. python软件下载对电脑配置要求-Python实现的读取电脑硬件信息功能示例
  19. 百度人脸对比,人脸认证Demo
  20. Kafka 压缩、限流和 SASL_PLAIN 、 SASL_SCRAM-SHA-256简单认证

热门文章

  1. 大数据分析技术有什么特点
  2. ‘utf-8‘ codec can‘t decode byte 0xc8 in position 0: invalid continuation byte
  3. C语言基础专题 - 指针(编写中)
  4. java抛出异常齁_解決 Elasticsearch 使用 Java High Level REST Client 時出現 NoClassDefFoundError 錯誤...
  5. 2020 年百度之星程序设计大赛 - 初赛二
  6. 职称评审英语计算机不作要求,安徽:基层专业技术人员评职称外语计算机不作要求...
  7. Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
  8. 梦醒了,一切都结束了
  9. ltp︱基于ltp的无监督信息抽取模块(事件抽取/评论观点抽取)
  10. 笔记︱利用python + flask制作一个简易本地restful API