草庐IT

self-register

全部标签

python - 在派生类中调用 super() 时,可以传入 self.__class__ 吗?

这个问题在这里已经有了答案:Howtoavoidinfiniterecursionwithsuper()?(1个回答)关闭7年前。我最近发现(通过StackOverflow)调用基类中的方法我应该调用:super([[派生类]],self).[[基类方法]]()没关系,它有效。但是,当我进行更改时,我发现自己经常在类之间复制和粘贴,并且经常忘记将派生类参数修复为super()函数。我想避免必须记住更改派生类参数。我可以改用self.__class__作为super()函数的第一个参数吗?这似乎行得通,但我有充分的理由不应该这样做吗? 最佳答案

python - 在派生类中调用 super() 时,可以传入 self.__class__ 吗?

这个问题在这里已经有了答案:Howtoavoidinfiniterecursionwithsuper()?(1个回答)关闭7年前。我最近发现(通过StackOverflow)调用基类中的方法我应该调用:super([[派生类]],self).[[基类方法]]()没关系,它有效。但是,当我进行更改时,我发现自己经常在类之间复制和粘贴,并且经常忘记将派生类参数修复为super()函数。我想避免必须记住更改派生类参数。我可以改用self.__class__作为super()函数的第一个参数吗?这似乎行得通,但我有充分的理由不应该这样做吗? 最佳答案

python - 为什么 pythonistas 调用当前引用 "self"而不是 "this"?

Python是我最了解的语言,但奇怪的是我仍然不知道为什么我输入的是“self”而不是Java或PHP中的“this”。我知道Python比Java更老,但我不知道这是从哪里来的。特别是因为您可以使用任何名称而不是“self”:该程序可以正常工作。那么这个约定从何而来? 最佳答案 Xerox于1980年发布的Smalltalk-80使用了self。Objective-C(1980年代初期)在C上叠加Smalltalk功能,因此它也使用self。Modula-3(1988年)、Python(1980年代后期)和Ruby(1990年代中

python - 为什么 pythonistas 调用当前引用 "self"而不是 "this"?

Python是我最了解的语言,但奇怪的是我仍然不知道为什么我输入的是“self”而不是Java或PHP中的“this”。我知道Python比Java更老,但我不知道这是从哪里来的。特别是因为您可以使用任何名称而不是“self”:该程序可以正常工作。那么这个约定从何而来? 最佳答案 Xerox于1980年发布的Smalltalk-80使用了self。Objective-C(1980年代初期)在C上叠加Smalltalk功能,因此它也使用self。Modula-3(1988年)、Python(1980年代后期)和Ruby(1990年代中

python - 分散 Flask 模型时,RuntimeError : 'application not registered on db' was raised

我正在通过分散模型、蓝图来重构我的Flask应用程序,但我遇到了运行时错误。defcreate_app():app=flask.Flask("app")app.config['SQLALCHEMY_DATABASE_URI']='sqlite://'app.register_blueprint(api)db.init_app(app)db.create_all()returnapp我有以下问题(示例项目托管在这里:https://github.com/chfw/sample):Traceback(mostrecentcalllast):File"application.py",line

python - 分散 Flask 模型时,RuntimeError : 'application not registered on db' was raised

我正在通过分散模型、蓝图来重构我的Flask应用程序,但我遇到了运行时错误。defcreate_app():app=flask.Flask("app")app.config['SQLALCHEMY_DATABASE_URI']='sqlite://'app.register_blueprint(api)db.init_app(app)db.create_all()returnapp我有以下问题(示例项目托管在这里:https://github.com/chfw/sample):Traceback(mostrecentcalllast):File"application.py",line

python - 从装饰器访问 self

在unittest的setUp()方法中,我设置了一些self变量,稍后在实际测试中会引用这些变量。我还创建了一个装饰器来做一些日志记录。有没有一种方法可以让我从装饰器中访问那些self变量?为简单起见,我发布此代码:defdecorator(func):def_decorator(*args,**kwargs):#accessafromTestSamplefunc(*args,**kwargs)return_decoratorclassTestSample(unittest.TestCase):defsetUp(self):self.a=10deftearDown(self):#te

python - 从装饰器访问 self

在unittest的setUp()方法中,我设置了一些self变量,稍后在实际测试中会引用这些变量。我还创建了一个装饰器来做一些日志记录。有没有一种方法可以让我从装饰器中访问那些self变量?为简单起见,我发布此代码:defdecorator(func):def_decorator(*args,**kwargs):#accessafromTestSamplefunc(*args,**kwargs)return_decoratorclassTestSample(unittest.TestCase):defsetUp(self):self.a=10deftearDown(self):#te

Python - 为什么在类里面使用 "self"?

这两个类有何不同?classA():x=3classB():def__init__(self):self.x=3有什么明显的区别吗? 最佳答案 A.x是一个类变量。B的self.x是一个实例变量。即A的x在实例之间共享。使用可以修改的东西(如列表)更容易展示差异:#!/usr/bin/envpythonclassA:x=[]defadd(self):self.x.append(1)classB:def__init__(self):self.x=[]defadd(self):self.x.append(1)x=A()y=A()x.ad

Python - 为什么在类里面使用 "self"?

这两个类有何不同?classA():x=3classB():def__init__(self):self.x=3有什么明显的区别吗? 最佳答案 A.x是一个类变量。B的self.x是一个实例变量。即A的x在实例之间共享。使用可以修改的东西(如列表)更容易展示差异:#!/usr/bin/envpythonclassA:x=[]defadd(self):self.x.append(1)classB:def__init__(self):self.x=[]defadd(self):self.x.append(1)x=A()y=A()x.ad