草庐IT

internal_init

全部标签

python - 为什么在 __init__ 函数中声明描述符类会破坏描述符功能?

在下面的B类中,我希望在为B().a赋值时调用A类中的__set__函数。相反,将值设置为B().a会用该值覆盖B().a。分配给C().a的C类工作正常,但我想为每个用户类都有一个单独的A实例,即我不想在C的一个实例中更改“a”()在所有其他情况下更改'a'。我写了几个测试来帮助说明问题。你能帮我定义一个能同时通过test1和test2的类吗?classA(object):def__set__(self,instance,value):print"__set__called:",valueclassB(object):def__init__(self):self.a=A()class

c++ - .so 模块不导入 python : dynamic module does not define init function

我正在尝试为C函数编写一个python包装器。编写所有代码并进行编译后,Python无法导入模块。我正在按照给定的示例here.在修正了一些拼写错误后,我在这里重现了它。有一个文件myModule.c:#include/**FunctiontobecalledfromPython*/staticPyObject*py_myFunction(PyObject*self,PyObject*args){char*s="HellofromC!";returnPy_BuildValue("s",s);}/**BindPythonfunctionnamestoourCfunctions*/stat

python - Pipenv-错误 : ModuleNotFoundError: No module named 'pip._internal'

今天,我通过安装了Pipenvpipinstallpipenv如文档中所述,我进入了一个测试目录并使用创建了一个新的虚拟环境pipenv外壳并尝试通过安装一个包pipenv安装numpy我收到以下错误信息:Installingnumpy…⠧Error:Anerroroccurredwhileinstallingnumpy!Traceback(mostrecentcalllast):File"/Users/florian/.local/share/virtualenvs/test-bJfQ6Jzk/bin/pip",line7,infrompip._internalimportmainM

python - 在 Pycharm 的语法高亮中更改 __init__ 和其他预定义项的颜色

我是色盲,当__init__位于插入符号所在的当前行时,我几乎无法辨认它,如本例所示:我只是在突出显示的“脱字符线”背景下看不到它。__repr__、__str__和其他此类预定义项存在同样的问题。所以,我想改变它们的颜色。我怎么做?我查看了颜色设置(下图),但不知道要更改哪一个。他们似乎都没有按照我的意愿行事。是的,我知道我可以更改“插入符号行”的颜色,但这不是一个可行的选择,因为__init__的当前颜色在其他情况下也会给我带来问题。 最佳答案 在PyCharm中,您可以转到"file">“设置...”在设置面板中,您可以转到编

python - PyQt4 使用 __init__ 的不同方式

所以...我正在尝试使用PyQt4从基本的Python转移到一些GUI编程。我正在看几本不同的书籍和教程,它们似乎都有稍微不同的开始类定义的方式。一个教程像这样开始上课:classExample(QtGui.QDialog):def__init__(self):super(Example,self).__init__()另一本书是这样的:classExample(QtGui.QDialog):def__init__(self,parent=None):super(Example,self).__init__(parent)还有一个是这样做的:classExample(QtGui.QDi

python - 类型错误 : __init__() takes at least 2 arguments (1 given) error

我正在使用Python3开发一个简单的基于文本的地下城游戏。首先提示用户从screen.py文件中选择英雄。fromgameimport*classGameScreen:'''Displaythecurrentstateofagameinatext-basedformat.Thisclassisfullyimplementedandneedsnoadditionalworkfromstudents.'''definitialize_game(self):'''(GameScreen)->NoneTypeInitializenewgamewithnewuser-selectedheroc

python - 导入错误 : dynamic module does not define init function

我正在尝试重现以下教程https://csl.name/post/c-functions-python/.我在C++中的Python扩展看起来像:#includestaticPyObject*py_myFunction(PyObject*self,PyObject*args){char*s="HellofromC!";returnPy_BuildValue("s",s);}staticPyObject*py_myOtherFunction(PyObject*self,PyObject*args){doublex,y;PyArg_ParseTuple(args,"dd",&x,&y);r

python - 为什么不用__init__.py也能导入成功?

__init__.py到底有什么用?是的,我知道这个文件将一个目录变成了一个可导入的包。但是,请考虑以下示例:project/foo/__init__.pya.pybar/b.py如果我想将a导入到b中,我必须添加以下语句:sys.path.append('/path_to_foo')importfoo.a这将在有或没有__init__.py的情况下成功运行。但是,如果没有sys.path.append语句,将出现“无模块”错误,无论是否有__init__.py。这使得看起来只有系统路径很重要,而__init__.py没有任何效果。为什么这个导入在没有__init__.py的情况下也能

python - 在从 __init__ 调用的函数中声明变量是否仍然使用 key 共享字典?

出于清晰和组织的原因,我尝试始终在__init__中声明类属性。最近,由于PEP412,我了解到严格遵循这种做法也有额外的非美学好处。为Python3.3添加。具体来说,如果所有属性都在__init__中定义,那么对象可以通过共享它们的键和哈希来减少空间。我的问题是,当在__init__调用的函数中声明属性时,是否会发生对象key共享?这是一个例子:classDog:def__init__(self):self.height=5self.weight=25classCat:def__init__(self):self.set_shape()defset_shape(self):self

python - __init__ 可以用作正常的初始化方法,而不是构造函数吗?

有时使用__init__作为已经存在的对象的初始化方法看起来是合理的,即:classA():def__init__(self,x):self.x=xdefset_state_from_file(self,file):x=parse_file(file)self.__init__(x)作为此实现的替代方案,我看到以下内容:classA():def__init__(self,x):self.init(x)definit(self,x):self.x=xdefset_state_from_file(self,file):x=parse_file(file)self.init(x)在我看来,代