Python中文
首页
教程
问答
标签
搜索
登录
注册
如何调用方法名称为字符串的方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在使用Biopython的Restriction类来执行silico限制性消化。据我所知,为了用某种酶消化某种序列,必须实现.catalyste()方法。你知道吗</p> <pre><code>digestTuple = Restriction.EcoRI.catalyse(this_seq) # Or whichever enzyme is desired. </code></pre> <p>现在我应用一个条件来查看哪个酶被用作输入。例如:</p> <pre><code>RS = restrictionSite # From user amb = IUPACAmbiguousDNA() this_seq = Seq(sequence, amb) # sequence from user if RS == 'EcoRI': digestTuple = Restriction.EcoRI.catalyse(this_seq) </code></pre> <p>我为我预见到自己需要的任何酶应用一个条件。这会占用大量代码行,效率低下。我希望能够在所有可能的酶的限制集合中搜索成员,限制性内切酶. 像这样:</p> <pre><code>if RS in Restriction.AllEnzymes: digestTuble = Restriction.RS.catalyze(this_seq) else: print('Please type in enzyme name correctly') </code></pre> <p>这个问题是python并不等同于:</p> <pre><code>RS = "EcoRI" digestTuple = Restriction.RS.catalyze(this_seq) </code></pre> <p>与</p> <pre><code>digestTuple = Restriction.EcoRI.catalyze(this_seq) </code></pre> <p>因为它试图使用与酶相关联的字符串名称,而不是实际调用正确的方法。你知道吗</p> <p>有没有一种方法可以使用搜索所有可能酶的单个条件来调用这个方法?你知道吗</p> <p>也许是这样的<a href="https://stackoverflow.com/questions/14496670/invoking-a-method-by-its-name">Invoking a method by its name</a>但是在python中呢?你知道吗</p> <p>关于这个问题的技术措辞让我有点困惑,所以我可能没有准确地解释这个问题。我很乐意回答任何澄清的问题。你知道吗</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用<code>getattr()</code>,例如:</p> <pre><code>RS = "EcoRI" digestTuple = getattr(Restriction, RS).catalyze(this_seq) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
plt.savefig不会覆盖现有文件
9 回答
plt.savefig不保存图像
3 回答
plt.savefig在jupyter笔记本中不起作用
3 回答
plt.savefig在从另一个fi调用时停止工作
5 回答
plt.savefig在调用plt.show之前保存空数字
1 回答
plt.save不创建png文件
6 回答
plt.scatter overlay分类数据帧列
4 回答
Plt.Scatter:如何添加title、xlabel和ylab
9 回答
plt.scatter()绘图与Matplotlib中的plt.plot()绘图类似
4 回答
plt.scatter错误'NoneType'对象在成功运行后没有属性'sqrt'
8 回答
plt.set_title()中的标题字符串有误
8 回答
plt.show()
8 回答
plt.show()不在Jupyter笔记本上渲染任何内容
10 回答
plt.show()不打印plt.plot only plt.scatter
3 回答
plt.show()不显示三维散射图像
7 回答
plt.show()不显示任何内容
7 回答
plt.show()不显示数据,而是保留它供下一个图表使用(spyder)
9 回答
plt.show()使终端挂起
1 回答
plt.show()无法使用此代码
7 回答
plt.show()没有打开新的图形风
6 回答