将函数参数转换为str



我编写了一个函数,并按如下方式调用它:

from lib import base_frequency
base_frequency("AB610939-AB610950.gb", "genbank")
#This calls the function that uses a BioPython code.

我如何传递函数参数如下?

base_frequency(AB610939-AB610950.gb, genbank)

注意缺少引号。我应该这么做吗?当函数参数为sting时,Python中有推荐的命名法吗?

我认为这需要我将文件名和记录格式转换为函数内的字符串。即:

AB610939-AB610950.gb to "AB610939-AB610950.gb"
genbank to "genbank"

我已经在函数内尝试了str(AB610939-AB610950.gb),但它没有完成工作。

如果没有引号,Python将把它解释为一个表达式。以第一个参数为例,

AB610939-AB610950.gb

Python会将其读取为两个变量AB610939AB610950gb属性之间的减法操作,而不是字符序列。阻止这种情况的唯一方法是将其用引号括起来,使其成为字符串文字。

当函数参数为字符串时,是否有推荐的Python命名法?

是的。

将字符串字面值&quot括在引号&quot中。

下面是一对有效的例子:

base_frequency("AB610939-AB610950.gb", "genbank")

生成一对str值,把它们推到堆栈上,并调用base_frequency函数。

如果第二个参数是未加引号的genbank,那将意味着完全不同的东西。意思是"请查一下……的值"命名为genbank的变量并传递其值。">

如果你请求一个不存在的变量,结果将是一个NameError。

最新更新