类映射到属性。

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第三方库


热门话题
java使用和返回方法   java如何为安卓开发设置eclipse?   java为泛型类中的通配符传递任何具体类都会产生错误。为什么?   带有正则表达式过滤器的MongoDB Java驱动程序聚合   运行使用OPENQUERY访问链接服务器的TSQL查询时出现java JDBC错误   java使用GZIP、JSON响应和JQuery   java如何使用onSaveInstanceState保存复选框状态   在Java中根据XSD 1.1验证XML时出错   如何在Java中以编程方式运行GlueGen发射器?   Java PathIterator如何准确计算形状对象的中心?   java在ArraysList对象中查找最小值   javascript JxBrowser LoadURL/LoadHTML   java Apache的HttpClient管理内联URL身份验证吗?   java如何使用failsafe和Junit5测试JPMS服务,而无需创建额外的测试模块?   javascript如何使用HtmlUnit修复从网站加载的所有URL?   java连接AppEngine数据存储和搜索API   Android中的java日期格式日历   eclipse java。awt。机器人连续按键   java字节[]数组在输入SQLITE数据库之前和之后都会发生变化