【Python __init ___:这违反惯例吗?】教程文章相关的互联网学习教程文章

如何在__init__中获取当前的Python类名,而不管“self”的类?【代码】

我有很多类,有这样的代码.每个__init__都会启动一个线程和一个带有该类名称的记录器.如何在__init__中以字符串形式获取当前类的名称?请注意,self可能不是当前类的实例,因此以下内容并非万无一失.from threading import Thread import loggingdef myClassName(myclass):myclass._class_name = myclass.__name__return myclass@myClassName class SomeClass(object):def __init__(self):class_name = type(self)._class_nameprint "...

在init.d中的后台执行python脚本【代码】

为了与我的iPhone交互,我创建了一个python脚本,通过套接字发送和回收数据,脚本必须在emule之后启动才能工作,我想到过这样的事情:PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/bin/amuled WEB=/usr/local/bin/amuleweb NAME=amuled DESC=amuled RUNAMULE=no USER=piros # ADDED FOR iPhone SOCKET= /home/piros/amule_scripts/aMuleSocket/aMuleSocket.py #然后case "$1" in start)echo ...

python – 尝试子类但获取对象.__ init __()不带参数【代码】

我正在尝试从webpy框架继承web.form.Form以更改行为(它从表中呈现).我尝试这样做:class SyssecForm(web.form.Form):def __init__(self, *inputs, **kw): super(SyssecForm, self).__init__(*inputs, **kw)def render(self):out='<div id="form"> 'for i in self.inputs:html = utils.safeunicode(i.pre) + i.render() + self.rendernote(i.note) + utils.safeunicode(i.post)out += "%s"%(html) out += '"<div id="%s"> %s %s<...

python – Django:__ init__中的Form类的访问和更新字段或保存函数【代码】

我有MyModel模型类的MyModelForm表单类,我想为某个字段生成一个随机值. 我看到它的方式是在init或save函数中,我尝试使用self.fields [‘randfield’]但它抛出一个错误’MyModelForm’对象没有属性’fields’. 如何访问和更新表单类中的字段,以便我可以使用随机值对其进行实例化? 谢谢. 编辑:使用self.fields后[‘randint’].初始我得到一个KeyError.代码是 好的,这里是:def __init__(self, instance=None, *args, **kwargs):_fi...

def __init __(self,* args,** kwargs)在python中初始化类【代码】

我是Python的新手.我在我正在研究的OpenFlow控制器中遇到了Python代码.class SimpleSwitch(app_manager.RyuApp):OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION]def __init__(self, *args, **kwargs):super(SimpleSwitch, self).__init__(*args, **kwargs)self.mac_to_port = {}我的问题如下. > __init__是类的构造函数吗?>自我和C的指针一样吗?> super(SimpleSwitch,self).__ init __(* args,** kwargs)是指为父/超类调用构造函数吗...

python – TypeError:object .__ init __()不带参数【代码】

我被Python中的这种继承行为所困扰.据我所知,虽然语法不同于2.7到3.5,但正在正确调用超类构造函数.Python 2.7.11 |Continuum Analytics, Inc.| (default, Dec 6 2015, 18:08:32) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://anac...

Python3包中的__init__.py

Python3包中的__init__.py 当我们在创建一个包时,必须在包中新建一个空文件__init__.py,这样才能使别人导入这个包。 当我们要使用包中的某一个模块时,我们就需要在__init__.py中写上__all__=["XXX","YY"],这里的__all__和在上篇博文中提到模块中的__all__用法类似,当别人在导入这个包时,可以选择性的让其可以使用包中哪个模块,不能使用哪个模块。 调用包中模块的方法 第一种:__init__.py中写上__all__=["aa"] 则可以在需要导...

python类中初始化形式:def __init__(self)和def __init__(self, 参数1,参数2,···,参数n)区别【代码】

前言 这两种初始化形式,就类似于C++类中的构造函数。 形式1:def_init_(self) class Student_Grade: def __init__(self): # 类似于c++中的默认构造函数self.name = Noneself.grade = Nonedef print_grade(self):print("%s grade is %s" % (self.name,self.grade))s1 = Student() # 创建对象s1 s1.name = "Tom" s1.grade = 8s2 = Student() # 创建对象s2 s2.name = "Jerry" s2.grade = 7s1.print_grade() s2.print_grade()这种形...

python-子类构造函数调用super().__init__()

【super作用】 如果子类(Puple)继承父类(Person)不做初始化,那么会自动继承父类(Person)属性name。如果子类(Puple_Init)继承父类(Person)做了初始化,且不调用super初始化父类构造函数,那么子类(Puple_Init)不会自动继承父类的属性(name)。如果子类(Puple_super)继承父类(Person)做了初始化,且调用了super初始化了父类的构造函数,那么子类(Puple_Super)也会继承父类的(name)属性。

14.04 – 致命Python错误:Py_Initialize:无法获取语言环境编码…语法错误:无效语法已中止(核心转储)【代码】

我通过运行安装了anacondabash Anaconda-2.2.0-Linux-x86_64.sh命令在我的Ubuntu 14.04系统上安装成功,之后我被要求导出我的新/ home / username / anaconda / bin $PATH环境变量. 在这样做的时候,我能够使用所有anaconda的功能,包括IDE,以及成功使用所有基于conda的命令. 下次启动我的系统时,每个错误输入的命令都会看到一个Fatal Python error: Py_Initialize: Unable to get the locale encodingFile "/usr/local/lib/python2.7...

python – 在不运行__init__的情况下测试实例方法的最佳方法【代码】

我有一个简单的类,通过init获取大部分参数,它还运行各种私有方法来完成大部分工作.输出可通过访问对象变量或公共方法获得. 这就是问题 – 我希望我的unittest框架能够直接调用init调用的私有方法,而不需要通过init. 最好的方法是什么? 到目前为止,我一直在重构这些类,以便init执行更少的操作并且数据单独传递.这使得测试变得简单,但我认为该类的可用性受到了一些影响. 编辑:基于Ignacio答案的示例解决方案:import typesclass C(...

python – South似乎正在加载initial_data.json两次【代码】

我一直在和South合作开发一个新的Django项目. 我刚刚添加了一个新的模型客户端,我想确保任何运行的测试或任何新的数据库设置总是填充一个Client实例,所以我添加了一个新的实例进入项目的initial_data.json. 现在每当我运行测试或填充新数据库时,看起来像initial_data.json被加载两次 – 一次在表创建之后. (失败并带有追溯).在迁移应用之后第二次. (成功就好了) 例如,运行manage.py syncdb –migrate –noinput会给我以下输出:Syn...

python – __init __()的“私有”参数?【代码】

我有一个类在实例化时采用单个参数a,它存储在_a属性中.对于许多方法(运算符),我还需要在结果上设置_b属性.目前这是以直截了当的方式实施的:class SomeClass(object):def __init__(self, a=0):self._a = aself._b = 0def __add__(self, other):result = self.__class__()result._b = self._a + other._areturn result现在,我有一些像_b这样的成员,比如_c和_d,所以__add__将需要为这些属性中的每一个添加额外的行.能够在对象实例化上...

在python中__init__中返回None的错误表单【代码】

我正在修补一些课程,我遇到了一个情况,我想在它有机会再做任何事情之前切断__init__.为此,我只是在我想要切断的块的末尾放置一个null return语句.例如:class Example(object):def __init__(self):#lots and lots of codeif so_and_so:return回到__init__里面是不好的形式,即使它只是在这种情况下?解决方法:对于任何函数,不仅__init__,使用普通返回等同于返回None,如果不在函数中使用return,则无论如何都会隐式返回None. 因此,在_...

为什么在python中双__init__?【代码】

我正在调查python oop风格.我似乎__init__施工方法如下.我之前没有看到这种风格.为什么在这个东西中使用双__init__方法? EX-class MinimumBalanceAccount(BankAccount):def __init__(self, minimum_balance):BankAccount.__init__(self)self.minimum_balance = minimum_balancedef withdraw(self, amount):if self.balance - amount < self.minimum_balance:print 'Sorry, minimum balance must be maintained.'else:BankAccount....