python - 将参数传递给 URL 对象
问题描述
使用 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))
推荐阅读
- json - 无键容器 JSON Swift 可解码
- java - JOptionPane showMessageDialog - 取消焦点“确定”按钮
- nativescript - 尽管我遵循了每一步,但 Font-Awesome 在 NativeScript 中不起作用
- php - 错误的排序顺序(JOIN)
- flutter - 如何在 Dart/Flutter 中重试 Future?
- python - 寻找一种更快的模糊字符串匹配方法
- php - 有什么方法可以在php中每1小时工作一次吗?
- c# - c# linq 如果项目在列表中并从列表中获取匹配项目
- python - 修改 sphinx_bootstrap_theme 方法渲染
- firebase - 关于 Firebase 关于静态和动态页面的一些混淆