类映射到属性。

kwargs_obj的Python项目详细描述


夸尔格斯目标

https://badge.fury.io/py/kwargs_obj.pnghttps://pypip.in/d/kwargs_obj/badge.png

.__init__(self, **kwargs)映射到属性的类。

文件

此模块可用于将**kwargs中的值自动设置为属性,也可用于取消设置的属性。

示例

将**kwargs映射到属性

在这里您可以看到,如何将**kwargs映射到您的属性:

classXex(KwargsObj):def__init__(self,**kwargs):self.something=Noneself.something_else=Noneself._kwargs_to_attributes(kwargs)

这将允许传递设置something_elsesomething_different

>>>x=Xex(something=True)>>>x.somethingTrue

取消设置未设置的属性:

>>>x=Xex(asd=True)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"<stdin>",line5,in__init__File"kwargs_obj/kwargs_obj.py",line61,in_kwargs_to_attributes"Can't set %s parameter - it is not defined here!"%keyValueError:Can't set asd parameter - it is not defined here!
禁用未设置属性的设置

还修改了.setattr`方法,该方法禁用设置新属性。这对于数据容器来说可能是个好主意。

可以通过设置._all_set属性来触发修改后的.setattr功能:

classXex(KwargsObj):def__init__(self):self.something=Noneself.something_else=Noneself._all_set=True

现在不可能设置新的属性,这可能有助于防止输入错误:

>>>x=Xex()>>>x.asd=TrueTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"kwargs_obj/kwargs_obj.py",line50,in__setattr__raiseValueError("%s is not defined in this class!"%name)ValueError:asdisnotdefinedinthisclass!

但您仍然可以重新定义已定义的属性:

>>>x.something=True>>>

更改日志

1.0.0

  • Added tests.
  • Added documentation.
  • Package uploaded to pypi.

0.1.0

  • Project created.

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

推荐PyPI第三方库


热门话题
与JDBC(h2数据库)相比,使用hibernate的java长SQL查询   java高亮显示JComboBox中的文本,然后在用户输入内容时将其删除   java ifstream从字符串中读取字符时出错   java如何使用icu4j字符集实现和字符集解码?   javax:将json数组映射到对象列表   java无法执行目标组织。科德豪斯。mojo:execmavenplugin:1.2.1:exec(defaultcli)   java单击活动中的一个按钮将同时打开两个活动   java我想使用Jsoup从整个在线词典中获取定义,我必须做些什么来防止我的IP被阻塞?   如何防止Java图形中的闪烁?   将字符串转换为浮点的数组会创建意外的返回。JAVA   java JAVAFX:在BorderPane中的窗格之间切换   JavaSpringWebFlux网络客户端:延迟执行   java根据其他菜单中的选项显示子菜单?   ProcessBuilder的java设置工作目录不工作   java lucene:使StandardTokenizer适应Twitter数据