将值应用于可选参数
apply-defaults的Python项目详细描述
应用默认值
对函数应用默认值。
使配置更容易应用程序设置来自配置文件 你的代码干净,而且只需要很少的努力
不再丑陋了。
pip install apply_defaults
应用配置
此装饰器应用来自configparser对象的选项。
fromapply_defaultsimportapply_configfromconfigparserimportConfigParserconfig=ConfigParser()config.read_dict({"general":{"option":True}})# alteratively read a file@apply_config(config)deffunc(option:bool=False)->bool:returnoption
option
参数从配置中获取值。
>>>func()True
通过传递值覆盖配置
>>>func(option=False)'False'
如果该选项不在配置中,则参数的默认值 使用列表
>>>config.remove_option("general","option")>>>func()False
注意:configparser的选项是字符串。函数签名中的类型提示 允许apply_config decorator将选项强制转换为所需的类型。 或者你自己铸造价值观。
应用自己
此修饰符应用绑定对象的属性。
fromapply_defaultsimportapply_selfclassMyObject:def__init__(self):self.option=True@apply_selfdeffunc(self,option=False):returnvalue
类型提示允许decorator将config选项转换为所需的类型。 否则,config选项每次都是一个字符串。
参数从绑定对象中获取值,即self.foo
>>>obj=MyObject()>>>obj.func()True
通过传递值重写。
>>>obj.func(option=False)False
如果属性不在绑定对象中,则 使用参数列表。
>>>delobj.option>>>obj.func()False