Python:如何将NonType变量转换为String?

时间:2009-09-10 20:32:17

标签: python

我有以下功能:

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

我正在尝试将规则转换为字符串,但是当我运行以下命令时,我得到的是:

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

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

谢谢,

2 个答案:

答案 0 :(得分:5)

你需要这样做:

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

如果在执行函数期间没有遇到None语句,则所有函数都会隐式返回return

答案 1 :(得分:1)

您的规则功能不会返回任何内容 - 它只会打印。因此,rule(20)返回None - 表示'no value'的python对象。你不能把它变成一个字符串,至少不是你想象的那样。

您需要定义规则以返回某些内容,例如:

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

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