我是Python新手,但我仍然无法理解为什么我们需要一个__init__.py文件来导入模块。其他的问答我都看过了,比如this.让我感到困惑的是,我可以没有__init__py导入我的模块,所以我为什么需要它?我的例子,index.pymodules/hello/hello.pyHelloWorld.pyindex.py,importosimportsysroot=os.path.dirname(__file__)sys.path.append(root+"/modules/hello")#IMPORTSMODULESfromhelloimporthellofromHelloWorl
我最近在我的macbookpro上安装了jupyternotebooks。当我创建一个新笔记本时,我在启动笔记本的终端上看到以下异常。Monideeps-MacBook-Pro:PythonNotebooksmonideepde$jupyter-notebook[I12:18:43.675NotebookApp]Servingnotebooksfromlocaldirectory:/Users/monideepde/Documents/PythonNotebooks[I12:18:43.675NotebookApp]0activekernels[I12:18:43.676Noteboo
我没有找到任何关于应该在类和__init__文档字符串中记录什么的最佳实践。有时我发现构造函数参数已经记录在类文档字符串中,有时在__init__文档字符串中进行了描述。我更喜欢在类文档字符串中描述构造,因为这是您在创建新实例时所调用的。但是应该在__init__方法文档字符串中记录什么?编辑:我知道googlestyleguide和googledocstringstyleexample,但两者都没有回答我的问题。文档字符串样式示例确实说The__init__methodmaybedocumentedineithertheclassleveldocstring,orasadocstri
我正在编写一系列文本菜单。使用下面的类和子类,它运行没有问题。但我正在审查我的编码,我想知道....我没有在类中使用def__init__(self)可以吗?我是否应该将数据成员放在def__init__(Self):中,例如self.images=()、self.options=()?如果我这样做了,我就不能使用abc模块进行约束,对吗?classBaseMenu(object):__metaclass__=abc.ABCMeta@abc.abstractpropertydefoptions(self):pass@abc.abstractpropertydefmenu_name(se
这个问题在这里已经有了答案:Whydoweuse__init__inPythonclasses?(8个回答)关闭9年前.在阅读OpenStack的代码时,我遇到了这个问题。一个名为'Service'的类继承了基类'object',然后在Service的__init__()方法中,调用了object的__init__。相关代码如下:类定义:classService(object):以及Service的init方法定义:def__init__(self,host,binary,topic,manager,report_interval=None,periodic_interval=None
我在创建用户时使用Django创建用户和对象。但是有一个错误__init__()得到了一个意外的关键字参数“用户”在view.py中调用register()函数时。功能是:defregister(request):'''signupview'''ifrequest.method=="POST":form=RegisterForm(request.POST)ifform.is_valid():username=form.cleaned_data["username"]email=form.cleaned_data["email"]password=form.cleaned_data["p
我正在Django中创建一个自定义表单对象,该对象具有覆盖的__init__方法。重写该方法的目的是根据新参数动态生成下拉框。例如,classTicketForm(forms.Form):Type=Type.GetTicketTypeField()def__init__(self,data=None,files=None,auto_id='id_%s',prefix=None,initial=None,label_suffix=':',empty_permitted=False,ticket=None):ifticket:self.__class__.State=State.GetTi
我只是在深入研究一些更高级的python主题(嗯,至少对我来说是高级的)。我现在正在阅读有关多重继承以及如何使用super()的内容。我或多或少了解super函数的使用方式,但是(1)这样做有什么问题?:classFirst(object):def__init__(self):print"first"classSecond(object):def__init__(self):print"second"classThird(First,Second):def__init__(self):First.__init__(self)Second.__init__(self)print"that
我的包中有几个空的__init__.py文件。如果我将它们保留为空是否正确,或者我必须在其中放置一个pass?是否有任何PEP或其他关于该主题的指南? 最佳答案 空文件是perfectlyfine:The__init__.pyfilesarerequiredtomakePythontreatthedirectoriesascontainingpackages;thisisdonetopreventdirectorieswithacommonname,suchasstring,fromunintentionallyhidingvali
一个Python子类可以在调用或不调用super()的情况下进行初始化,如下所示classParent(object):...classChild(Parent):def__init__(self):super(Child,self).__init__()classChild(Parent):def__init__(self):Parent.__init__(self)这些情况之间有什么区别,一种通常比另一种更可取? 最佳答案 super的目的是处理继承钻石。如果上课继承结构只使用单继承,然后使用super()将导致与显式调用“父”