如何解决Python自我功能
我正在修改一些Python代码。在此代码中,有一个名为Proxy的类,该类具有执行的“运行”功能。
import flask
import gevent
class: Proxy
def __init(self):
'''
*stuff*
'''
flask_app = Flask(__name__)
self.run = lambda: (
self.logger.critical('LISTENING %s%s' % (host,port)) or
flask_app.run(host=host,port=port)
)
proxy = Proxy()
proxy.run()
我需要更改self.run = lambda: ('...')
,以便proxy.run()
执行以下代码:
http = WSGIServer(('',8000),flask_app)
http.serve_forever()
我该怎么做?我认为我不需要lambda表达式,而应该使用其他东西。如何使proxy.run()
从上面执行两行代码?假设我已经导入了所有适当的依赖项,并且Proxy类按预期运行。预先感谢您的帮助。
我尝试了以下操作:
def run():
http = WSGIServer(('',flask_app)
http.serve_forever()
然后我尝试了proxy.run()
,但收到错误消息:
AttributeError: 'Proxy" object has no attribute 'run'
解决方法
通常,定义作为对象属性的函数的方法是使其成为方法:
class Proxy:
def __init__(self,app: Flask):
self._app = app
def run(self) -> None:
WSGIServer(('',8000),self._app).serve_forever()
app = Flask(__name__)
proxy = Proxy(app) # this calls the __init__ method defined above
proxy.run() # and this calls the run method with "self" = "proxy"
,
import flask
import gevent
class: Proxy
def __init(self):
'''
*stuff*
'''
flask_app = Flask(__name__)
http = WSGIServer(('',flask_app)
self.run = lambda: (
self.logger.critical('LISTENING %s%s' % (host,port)) or
#flask_app.run(host=host,port=port)
http.serve_forever()
)
proxy = Proxy()
proxy.run()
感谢大家的贡献,他们帮助我弄清楚了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。