提供管理常量变量的广泛方法。

constant2的Python项目详细描述


https://travis-ci.org/MacHu-GWU/constant2-project.svg?branch=masterhttps://codecov.io/gh/MacHu-GWU/constant2-project/branch/master/graph/badge.svghttps://img.shields.io/pypi/v/constant2.svghttps://img.shields.io/pypi/l/constant2.svghttps://img.shields.io/pypi/pyversions/constant2.svghttps://img.shields.io/badge/Star_Me_on_GitHub!--None.svg?style=social

欢迎使用constant2文档

如果你有很多constant2的价值在你的开发中被广泛使用。更好的方法是定义Constantant Variable,而不是使用原始值。这可以提高可读性和可访问性。

constant2是一个库,提供了管理constant2变量的广泛方法。

另一个强大的功能是,constant2允许开发人员定义规范化的实体关系,并且是class样式的数据,这为每一行和每一列提供了极好的可访问性,使开发人员从记忆中解脱出来。

使用量

版本已更改0.0.9:所有嵌套类现在都必须从Constant或其子类继承

# WRONG!classItemType(Constant):classWeapon:id=1# CORRECTclassItemType(Constant):classWeapon(Constant):id=1# orclassItem(Constant):passclassItemType(Constant):classWeapon(Item):id=1

用法:

fromconstant2importConstantclassFood(Constant):classFruit(Constant):id=1name="fruit"classApple(Constant):id=1name="apple"classRedApple(Constant):id=1name="red apple"classGreenApple(Constant):id=2name="green apple"classBanana(Constant):id=2name="banana"classYellowBanana(Constant):id=1name="yellow banana"classGreenBanana(Constant):id=2name="green banana"classMeat(Constant):id=2name="meat"classPork(Constant):id=1name="pork"classBeef(Constant):id=2name="beef"food=Food()

您可以通过以下方式访问它的数据或子类数据:

# Use class>>>Fruit.Items()# .Items() return it's data[('id',1),('name','fruit')]>>>Fruit.Keys()# .Keys() return keys['id','name']>>>Fruit.Values()# .Values() return values[1,'fruit']>>>Fruit.ToDict()# return data in a dict{'id':1,'name':'fruit'}# use instance>>>food.items()# .Items() return it's data[('id',1),('name','fruit')]>>>food.keys()# .keys() return keys['id','name']>>>food.values()# .values() return values[1,'fruit']>>>food.to_dict()# return data in a dict{'id':1,'name':'fruit'}# iterate on all nested class>>>Fruit.Subclasses(sort_by='id')[classApple,classBanana]# get first nested class that kls.id == 1# useful when you need reverse lookup>>>Fruit.GetFirst('id',1)classApple# get all child class that kls.id == 1>>>Fruit.GetAll('id',1)[classApple,]

它还提供了内置的i/o方法,允许您将这些数据转储到字典中。

>>>data=Food.dump()>>>data{"Food":{"Fruit":{"Apple":{"GreenApple":{"__classname__":"GreenApple","id":2,"name":"green apple"},"RedApple":{"__classname__":"RedApple","id":1,"name":"red apple"},"__classname__":"Apple","id":1,"name":"apple"},"Banana":{"GreenBanana":{"__classname__":"GreenBanana","id":2,"name":"green banana"},"YellowBanana":{"__classname__":"YellowBanana","id":1,"name":"yellow banana"},"__classname__":"Banana","id":2,"name":"banana"},"__classname__":"Fruit","id":1,"name":"fruit"},"Meat":{"Beef":{"__classname__":"Beef","id":2,"name":"beef"},"Pork":{"__classname__":"Pork","id":1,"name":"pork"},"__classname__":"Meat","id":2,"name":"meat"},"__classname__":"Food"}}>>>Food=Constant.load(data)

安装

constant2在pypi上发布,所以您只需要:

$ pip install constant2

要升级到最新版本:

$ pip install --upgrade constant2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用MongoDB进行java漏斗分析?   java如何重构此代码以仅执行一次方法logViolation(),并在单个字符串中获取字符串变量(speedType)的所有值   java如何将方向向量转换为角度?   Java中json文件中的股票价格   java有没有一种方法可以查看网站中的哪些资源加载了selenium?   java文件定位器可以指向不同文件服务器上的目录吗?   java GWT等待SetVisibleRange和ClearData完成   macos Java Applet无法在Mac OS下接收鼠标输入   java BottomNavigationView不支持单次单击必须单击两次   MS SQL Server 2012中的java:我的数据库名称是J.3.0.0\u DEV我无法在Oracle SQL Developer IDE中连接它?   java对JFileChooser的修改,只显示文件夹内容   java如何将动态对象查询更改为criteria builder或更好的性能   java中的swing新字体类型   java Hibernate。删除未使用的条目   上载CSV文件并将其转换为Java模型对象   java如何将信息添加到库的日志消息中?   JavaEclipseGit:使用egit从另一个分支、标记或引用打开版本   使用Firebase控制台消息的java开放视频