具有别名和属性访问的强大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系统。出来打印导致延迟?   java如何使用dasein API连接Azure云(blob存储)   java如何将Jframe cardlayout中的“card”从属于card的Jpanel更改为另一个类?   java如何在单个消息框中显示循环的所有迭代?   java如何设置netbeans保存项目的操作?   java网站的某些选项在web视图中不起作用   java如何在安卓中打开从右到左的菜单滑动条   java更容易反转由静态方法(函数接口)内联创建的比较器?   映射Java HashMap。获取(键)和树形图。获取equals和compareTo方法的(键)用法   java Health endpoints只显示“status:up”,不显示敏感信息   java当我一直按back按钮登录时,字段显示以前插入的用户数据   JTable单元中的java图像显示   go Java vs.Golang for HOTP(rfc4226)   java使用函数链减少分支和清理代码,这有意义吗   java我应该为每个查询创建一个新的DB连接吗?   java推荐的函数调用方法(是否使用CompiledScript?)   java截断分区和地板分区有什么区别?   没有spring引导的java Profile特定属性文件?   异常如何在java中从控制台读取密码?