2009-09-10 96 views
1

我有以下功能:Python:如何将NonType变量转换为String?

>>> def rule(x): 
...  rule = bin(x)[2:].zfill(8) 
...  rule = str(rule) 
...  print rule 

我试图规则转换为字符串,但是当我运行下面的命令,这里是我得到:

>>> type(rule(20)) 
00010100 
<type 'NoneType'> 

什么是NoneType变量,如何将该变量转换为字符串?

感谢,

回答

5

你需要做的:

def rule(x): 
    return bin(x)[2:].zfill(8) 

所有函数返回None隐含如果函数的执行过程中未遇到return声明(因为它是你的情况)。

1

你的规则函数不返回任何东西 - 它只打印。因此,规则(20)返回无 - 表示“无值”的python对象。你不能把它变成一个字符串,至少不会像你期望的那样。

您需要定义规则返回的东西,像这样:

>>> def rule(x): 
... rule=bin(x)[2:].zfill(8) 
... rule=str(rule) 
... return rule 

然后,它会返回一个字符串对象。

相关问题