草庐IT

brace-init

全部标签

python - 在包的 __init__.py 中导入子模块时出现奇怪的命名空间污染

主要.py:importpackage包/__init__.py:#usefunctiontosplitlocalandglobalnamespacedefdo_import():printglobals().keys()printlocals().keys()importfooasmodprintlocals().keys()printglobals().keys()do_import()包/foo.py:print'Hellofromfoo'执行main.py会输出如下:['__builtins__','__file__','__package__','__path__','__n

python - 为什么 Fraction 使用 __new__ 而不是 __init__?

我正在尝试创建一个新的不可变类型,类似于内置的Fraction但不是派生自它。分数类iscreatedlikethis:#We'reimmutable,souse__new__not__init__def__new__(cls,numerator=0,denominator=None):...self=super(Fraction,cls).__new__(cls)self._numerator=...self._denominator=...returnself但是我看不出这和有什么不同def__init__(self,numerator=0,denominator=None):..

python - Django get_models 与模型/__init.py__

我在django中使用get_model和get_models时遇到问题我在models下有几个模型/models/blog.pymodels/tags.pymodels/users.pymodels/comments.pymodels/category.py还有一个models/__init.py__frommyapp.models.blogimport*frommyapp.models.tagsimport*frommyapp.models.usersimport*frommyapp.models.commentsimport*frommyapp.models.categoryim

python - 抽象类的错误 "__init__ method from base class is not called"

我有classA(object):def__init__(self):raiseNotImplementedError("A")classB(A):def__init__(self):....和pylint说__init__methodfrombaseclass'A'isnotcalled很明显,我不想做super(B,self).__init__()那我该怎么办?(我尝试了abc并得到了Undefinedvariable'abstractmethod'来自pylint,因此这也不是一个选项)。 最佳答案 忽略pylint。它只是一

python - 在 `super()` 内使用 `__init_subclass__` 找不到父类的类方法

这个问题在这里已经有了答案:Whydoesaclassmethod'ssuperneedasecondargument?(1个回答)3年前关闭。我尝试从__init_subclass__中访问父级的类方法但是这似乎不起作用。假设以下示例代码:classFoo:def__init_subclass__(cls):print('init',cls,cls.__mro__)super(cls).foo()@classmethoddeffoo(cls):print('foo')classBar(Foo):pass产生以下异常:AttributeError:'super'objecthasnoa

python - 编译错误。属性错误 : 'module' object has no attribute 'init'

这是我的小程序,importpygamepygame.init()这是我的编译命令。pythonmyprogram.py编译错误,File"game.py",line1,inimportpygameFile"/home/ubuntu/Documents/pygame.py",line2,inpygame.init()AttributeError:'module'objecthasnoattribute'init'Ihavepygameinstalledinmyubuntu,Itisinstalledin/usr/lib/python2.6/dist-packages/pygame我从I

python - 几个模块的 Pytest init 设置

假设我有下一个测试结构:test/module1/test1.pymodule2/test2.pymodule3/test3.py我如何设置某些方法在所有这些测试之前只调用一次? 最佳答案 您可以使用自动装置:#contentoftest/conftest.pyimportpytest@pytest.fixture(scope="session",autouse=True)defexecute_before_any_test():#yoursetupcodegoeshere,executedaheadoffirsttest参见pyt

python - __init__ 类(不是实例 __init__)

这是我试图解决的一个非常简单的例子:classTest(object):some_dict={Test:True}问题是我无法在Test仍在定义时引用它通常,我会这样做:classTest(object):some_dict={}def__init__(self):ifself.__class__.some_dict=={}:self.__class__.some_dict={Test:True}但我从未创建此类的实例。它实际上只是一个容纳一组相关函数和数据的容器(我有几个这样的类,我传递了对它们的引用,所以Test有必要成为它自己的类)所以我的问题是,我如何在定义Test时引用它,或

python - python 中包的 API。在 __init__.py 中?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我写了一个python包,它由几个包含类等的.py文件组成。我想使用“外观”模式将它公开给客户端。所以我不希望客户端学习所有的内部类,而只学习这个API接口(interface)公开的方法。问题是:我应该把这个api放在哪里?我是在包中定义一个文件api.py还是可以将此api放在包的__init__.py中?我用一个例子解释得更好\__init__.pycore.pysubmodule1

python - 如何使用 __init__.py 使 Sphinx 尊重将类导入包

我有一个包裹:富foo.pybar.py__初始化__.pyfoo.py有一个Foo类。在__init__.py中,我导入类Foo以便用户可以执行以下操作:fromfooimportFooSphinx正确地将Foo记录为foo.foo.Foo,这是正确的,但让用户感到困惑。如何让Sphinx将其记录为foo.Foo?获取与正确模块关联的整体模块文档也很重要。Sphinx文档称为:..module::module.name但是当我在foo.py文件的第一个注释中使用它时,该文档仍然归因于foo.foo。 最佳答案 __module__