Python中文
首页
教程
问答
标签
搜索
登录
注册
Python通过间接调用函数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>窗户7,Python2.7 MPD2。在</p> <p>我正在写一个程序来控制MPD。在</p> <p>MPD有几个(超过50个)不同的功能。在</p> <p>通常情况下,打电话的形式是:</p> <pre><code>mpd_client.pause() #or mpd_client.playlistmove(playlist_name, old_pos, new_pos) </code></pre> <p>我想把所有单独的调用封装在一个函数中,这样就可以使用一个try/except。在</p> <p>我想我想用一些lambda,和*args,但是我对这两种都没有什么经验。在</p> <p>在我的程序主体中,我想称之为:</p> ^{pr2}$ <p>我设想我的功能看起来像。。。在</p> <pre><code>def MPD(required_param, *args): try: mpd_client.required_param(args) except: ... </code></pre> <p>当然,这是行不通的。在</p> <p>除了编写一个巨大的switch语句和50个不同的try结构之外,有没有方法可以使用lambda?在</p> <p>可能是这样的:</p> <pre><code>lambda m=mpd_client.required_param: m(args) </code></pre> <p>但是,这也不管用。在</p> <p>我不知道。在</p> <p>谢谢,马克。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您需要使用<code>getattr()</code>检索按名称调用的实际方法:</p> <pre><code>getattr(mpd_client, required_param)(*args) </code></pre> <p>(请注意,您还需要在函数调用的<code>args</code>前面加上<code>*</code>,以便将参数列表重新展开为单独的参数。)</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在Excel中读取公式并将其转换为Python中的计算?
8 回答
如何在excel中读取嵌入的excel,并将嵌入文件中的信息存储在主excel文件中?
5 回答
如何在Excel中返回未知列长度的非空顶行列值?
8 回答
如何在excel中选择数据列?
9 回答
如何在Excel中通过脚本自动为一列中的所有单元格创建公共别名
1 回答
如何在excel中高效格式化范围AttributeError:“tuple”对象没有属性“fill”
10 回答
如何在excel单元格中编写python函数
10 回答
如何在excel单元格中自动执行此python代码?
2 回答
如何在excel工作表中创建具有相应值的新列
2 回答
如何在Excel工作表中复制条件为单元格颜色的python数据框?
6 回答
如何在Excel工作表中循环
7 回答
如何在excel工作表中打印嵌套词典?
8 回答
如何在excel工作表中绘制所有类的继承树?
9 回答
如何在Excel工作表中自动调整列宽?
8 回答
如何在excel工作表中追加并进一步处理
7 回答
如何在excel工作表之间进行更改?
1 回答
如何在excel或csv上获取selenium数据?
7 回答
如何在Excel或Python中将正确的值赋给正确的列
5 回答
如何在excel或python中提取单词周围的文本?
3 回答
如何在excel或python中转换来自Jira的3w 1d 4h的fromat数据?
3 回答