Python: 如何将NonType变量转换为字符串?
我有一个这样的函数:
>>> def rule(x):
... rule = bin(x)[2:].zfill(8)
... rule = str(rule)
... print rule
我想把规则转换成一个字符串,但当我运行下面的命令时,得到了这个结果:
>>> type(rule(20))
00010100
<type 'NoneType'>
什么是NoneType变量?我该如何把这个变量转换成字符串呢?
谢谢,
2 个回答
1
你的规则函数没有返回任何东西,它只是打印了一些内容。所以,当你调用 rule(20) 时,它返回的是 None,这个 None 是 Python 中表示“没有值”的对象。你不能把它变成字符串,至少不是你想的那样。
你需要修改规则函数,让它返回一些东西,比如这样:
>>> def rule(x):
... rule=bin(x)[2:].zfill(8)
... rule=str(rule)
... return rule
这样的话,它就会返回一个字符串对象。
6
你需要做的是:
def rule(x):
return bin(x)[2:].zfill(8)
如果在函数执行过程中没有遇到return
语句,那么所有的函数默认都会返回None
(就像你遇到的情况一样)。