【问题标题】:Python: Convert NoneType value to stringPython:将 NoneType 值转换为字符串
【发布时间】:2013-08-15 21:33:03
【问题描述】:

新手问题:是否可以在 Python 中将 NoneType 值转换为字符串?

def convert_string(value):
    new_value = str(value)
    return new_value

convert_string(value)
Traceback (most recent call last):
  File "<string>", line 1, in <fragment>
NameError: name 'value' is not defined

提前致谢!

【问题讨论】:

  • 这里没有None。您没有将名称 value 定义为全局名称,仅作为 convert_string() 函数的本地名称。
  • 那么,value 对应于 convert_string(value) 是什么?你需要先定义它;说value = None
  • 是的,我知道在这种情况下我没有定义值。上述函数有望将放入函数中的任何值(在本例中为非类型变量)转换为字符串。该值不是变量。
  • 无类型变量将是具有值None 的已定义变量。在这种情况下,您只有一个未定义的变量。

标签: python string type-conversion


【解决方案1】:

当 Python 到达语句时

convert_string(value)

它在调用函数之前评估参数value。如果value 未定义,则引发NameError

NameError: name 'value' is not defined

None 是一个值。变量value 可以设置为Nonevalue = None。这与根本不定义value 有本质上的不同。

【讨论】:

    【解决方案2】:

    'value'未在该行中定义:

    convert_string(value)
    

    你应该写的是

    convert_string(None)
    

    正确测试您的功能

    【讨论】:

    • 或者,现在我想了想,只需在命令行中执行 str(None) 以了解它是否有效...
    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    相关资源
    最近更新 更多