具有别名和属性访问的强大dict子类

lexicon的Python项目详细描述


< < BR> > BR/>词典是一个简单的Python 2.6 +和3.3 +兼容集合的'DIST 'BR/>子类,它提供额外的功率:
BR/>*Adiasdit,一个支持简单和复杂密钥混叠的字典:
*别名一个键到另一个键,因此,例如MyDiT'[ Bar′]指向“BR/>”MyDiT[ [ Fo'] ],用于读和写。
*将单个键别名为其他键的列表,仅用于写,例如使用
“active_groups=aliasdict({ops':true,'biz':true,'dev':true,
“product':true})`可以将别名“tech”映射到“('ops”,
“dev”)`然后,例如“active_groups['tech']=false`.
*别名是递归的:如果指向另一个别名的别名指向另一个别名的目标,则指向另一个别名的别名将表现为

*`attributedit`,支持属性读写访问,例如
`mydict=attributedit({'foo':'bar'})`显示“mydict.foo”和
“MyDIC.Fo= =‘新值’,
*‘词典’,上述两个子类都表现为
行为集。
> BR/> *如何从词典导入词典'(或一个超类)
*按需要使用。有一个源库的克隆,你可以运行这样的测试: Brp-安装-R DEV要求。TXT'BR/>‘规范’< BR/>< API > BR> > AliasDict 'BR/>< BR/>在所有的例子中,‘MyLaaS’是别名,‘RealKEY’是“RealEngy”,
未混叠的密钥。安装词典= = DEV' .BR/>< BR> >如果你to='realkey')`:alias`myalias` to`realkey`所以对于读写来说,
`d['myalias']`的行为与'd['realkey']`完全一样。
*`from'`是第一个关键字参数,但通常可以省略
,并且仍然可以读取。有关此用法,请参见下面的示例。
有关别名如何影响其他dict操作的详细信息,请参见下面的。
*`alias('myalias',to=('realkey','otherrealkey')`:alias'myalias',to
`realkey'和'otherrealkey'。如您所料,这只适用于
写操作,因为永远无法保证别名
的所有目标都包含相同的值。
*`unalias('myalias')`:删除“myalias”别名;对“myalias”的任何后续
读/写操作对于常规的“dict”都将正常工作。
*`myalias'在d`(又称“myalias”包含“):当给定别名时返回true,因此如果“myalias”是某个其他键的别名,则字典成员资格测试将
表现为设置了“myalias”。
*`del d['myalias']`(也称为'uuu delitem'):这实际上变为'del
d['realkey'`--要删除别名本身,使用'unabase'(.bR/> *'del d [RealKEY ]”:删除真正的键/值对(即它称为
‘DI.T.A.DELLY''),但不触及指向“RealKEY”的别名。但如果目标键稍后重新填充,则将继续工作。


注意:

*由于单键/多键的双重性,“aliasdict”无法在别名时使用非字符串类型的键(它必须测试“isinstance(key,
basestring)`区分字符串和非字符串的iterables).
*`aliaddict`实例可能仍然*使用*非字符串键,当然--它不能把非字符串键用作别名目标。





乌格塔特):直接映射到'D'[KEY],'.BR/**'Del.KEY(AK'AX-DelTrace'):直接映射到'Deld[Ke],'.Br/> *“真实”或预先存在的属性之间的冲突,以及BR/>属性作为DICT键,总是导致真正的属性获胜。因此,
无法使用属性访问来访问,例如'd['g e t']`。
> '''词表'BR/> BR/>词典子类,从'AtestDeCt'首,然后'AlaseDeT',结束
结果属性访问将尊重别名。例如:
D=ListCon()
D.别名('MyLaaS,to =‘RealKEY’)
D.MyAyas='Fo'Br/> D. RealKyy打印“Foo”

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

推荐PyPI第三方库


热门话题
java使用servlet的正确方法是什么?   java Android ListView选中所有复选框(自定义ResourceCursorAdapter)   java如何在一个活动中正确处理多个片段交互侦听器?   java jUnit和忽略继承的测试   具有多个权限的java ActivityResultLauncher   Java:我可以通过应用程序将客户端重定向到loadbalancer后面的同一个会话/节点吗?   java如何使用Hibernate保存具有一对一关系的两个类?   java JEditorPane字体大小设置不准确   java为什么JUnit4导入不被识别,即使JUnit4在我的有效pom中。xml?   多次使用流后的java空映射   JavaSwing中AccessibleContext的用途是什么?   java指定使用T的类   java查找twitter4j转发速率限制   枚举的Java数组(类)   java通过Maven build排除了一些类