Python: 如何将NonType变量转换为字符串?

1 投票
2 回答
8147 浏览
提问于 2025-04-15 14:13

我有一个这样的函数:

>>> 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(就像你遇到的情况一样)。

撰写回答