我有以下功能:
>>> def rule(x):
... rule = bin(x)[2:].zfill(8)
... rule = str(rule)
... print rule
我正在尝试将规则转换为字符串,但是当我运行以下命令时,我得到的是:
>>> type(rule(20))
00010100
<type 'NoneType'>
什么是NoneType变量,如何将此变量转换为字符串?
谢谢,
答案 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
然后它将返回一个字符串对象。