python - 如何在以后的参数中引用函数调用的先前参数?
问题描述
这是在 micropython
我正在创建一个 API 来控制一些硬件。该 API 将在 C 中实现,并在 micropython 中提供接口。
我的 API 的一个示例是:
device.set(curr_chan.BipolarRange, curr_chan.BipolarRange.state.ON)
我希望能够实现相同的功能,但通过以某种方式隐式引用第一个参数来缩短第二条路径:
device.set(curr_chan.BipolarRange, <first arg?>.state.ON)
有没有办法做到这一点?
现在做这样的事情的唯一方法是
device.set(curr_chan.BipolarRange.state.ON)
然后在ON
C 对象和state
C 对象上放置一个向上指向的 C 指针,这样我就知道curr_chan
引用了哪个条目。
micropython 运行时——我假设是 CPython 运行时——不会将整个对象“树”保留在内存中供开发人员使用。
解决方案
将所需属性的名称作为第二个参数传递。调用getattr
(或PObject_GetAttr
重复获取 -.
分隔字符串的每个元素:
device.set(curr_chan.BipolarRange, 'state.ON')
推荐阅读
- ios - 为什么 UIImage 超越了 UIImageView?
- hdfs - 重命名多个数据文件
- google-cloud-platform - 无法将自定义 VMDK 导入 Google Cloud
- javascript - 调试使用 javascript 绘制的 SVG
- database - 为我的本地主机 wordpress 使用在线数据库
- python - 带有 groupby() 的 Pandas rolling() 以奇怪的方式更改索引
- node.js - 是否可以使用 node.js 从服务器端发送 GA 事件?
- python - 该行代码不在 Python 3.7 和 pandas 0.24.2 中运行
- python - tf.linalg.eigh 在 GPU 上非常慢 - 正常吗?
- c# - 易失性“错误 CS0246 找不到类型或命名空间名称‘MyProject’”