将参数传递给 URL 对象
Passing arguments to URL object
使用kivy中的URL对象,https://kivy.org/doc/stable/api-kivy.network.urlrequest.html,如果我想改变on_success函数接受另一个参数,我该如何将值传递给它?
def generate_images(sensor_id):
req = UrlRequest(URL, on_success=url_success)
然后在 on_success 有这样的东西
def url_success(req, result, sensor_id):
一种解决方案是使用 functools.partial()
:
from functools import partial
# ...
def generate_images(sensor_id):
req = UrlRequest(URL, on_success=partial(url_success, sensor_id))
# ...
def url_success(sensor_id, req, result):
print(sensor_id, req, result)
另一种解决方案是使用 lambda
函数:
def generate_images(sensor_id):
req = UrlRequest(URL, on_success= lambda req, result, sensor_id=sensor_id : url_success(req, result, sensor_id))
使用kivy中的URL对象,https://kivy.org/doc/stable/api-kivy.network.urlrequest.html,如果我想改变on_success函数接受另一个参数,我该如何将值传递给它?
def generate_images(sensor_id):
req = UrlRequest(URL, on_success=url_success)
然后在 on_success 有这样的东西
def url_success(req, result, sensor_id):
一种解决方案是使用 functools.partial()
:
from functools import partial
# ...
def generate_images(sensor_id):
req = UrlRequest(URL, on_success=partial(url_success, sensor_id))
# ...
def url_success(sensor_id, req, result):
print(sensor_id, req, result)
另一种解决方案是使用 lambda
函数:
def generate_images(sensor_id):
req = UrlRequest(URL, on_success= lambda req, result, sensor_id=sensor_id : url_success(req, result, sensor_id))