未知

mutexinit的Python项目详细描述


这个包提供了一个metaclass和一个decorator来为python类启用互斥构造函数。

您只需使用MutexInitMeta元类创建一个类,并将每个互斥构造函数声明为 实例方法,并用@subinitdecorator装饰它。

下面是一个简单的示例:

from mutexinit import MutexInitMeta, subinit

class MyClass(object):
    __metaclass__ = MutexInitMeta

    @subinit
    def foo(self, bar, baz):
        print('Running "foo" constructor')

    @subinit
    def bar(self, foo, baz):
        print('Running "bar" constructor')

这一切都是为了使类具有互斥的构造函数定义类之后,继续,并初始化它:

>>> my_instance1 = MyClass(bar=1, baz=2)
Running "foo" constructor
>>> my_instance2 = MyClass(foo=9, baz=8)
Running "bar" constructor
>>> my_instance2 = MyClass(foo=None, baz=8)
AttributeError: Mutex init arguments cannot be None

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

推荐PyPI第三方库


热门话题
Kotlin应该为Java类中的合成属性进行反射   hadoop。pig脚本与java嵌入式pig:哪一个最快?   java要求用户在不关闭程序的情况下输入一个double而不是字符串   Raspberry PI和windows pc代码之间的java差异   使用maven的基于java Spring引导概要文件的WAR   Java中的内联数组定义   jsf如何在Tomcat上安装和使用CDI?   当数据来自mySQL时,在java的微调器中删除重复项   java如何定制Android ListView的每一行?   对于web应用程序,为什么java也被称为平台无关?   java如何获得排序hashmap中两个给定键之间的所有键值?   帮我把这个Java翻译成Scheme,让我脑子里的东西运转起来   java共享子域cookie   hibernate多Java列表删除   java队列可以用来交换链表的相邻节点吗?   java遇到错误:当我在安卓应用程序中单击主屏幕快捷方式时,找不到应用程序