在Python中将null设置为None,这是一个好习惯吗?

JCh*_*hao 0 python null

当我处理从不同语言生成的输入/输出时,我常常在将这些输入/输出输入到Python时处理空值.我们都知道NonePython的关键字而不是null,所以当null值在列表中时,它经常会产生错误.有些图书馆已经处理过这种情况,但有些图书馆却没有.我只是想知道简单设置是否是一个好习惯

null = None
Run Code Online (Sandbox Code Playgroud)

老实说我之前没有见过这个,但我不知道我是不是在注意.这有什么不好的副作用吗?这甚至是推荐的吗?

编辑:我正在处理的当前作品确实包含eval.我没有这是一个邪恶的事情哈哈.很久以前有人写过这篇文章.我eval当时不知道给人留下什么印象.尽管如此,我认为改变评估部分是个更好的主意.

基本上,创建问题的部分是代码尝试评估其中包含的列表null.

确切地说,这里的输入是一个包含在字符串中的列表列表.

EDIT2:不只是downvote.我只是问一个问题

Joh*_*ica 10

这不是一个好主意.它表示程序中有些模糊,代码和输入之间的界限模糊.

您编写的任何代码都应该使用None,而不是设置的变量None.有一个null常数不会有帮助,因为你可以简单地写None.

如果您从用户或其他程序获得输入,则该输入将是文本.它将存储在字符串变量中"null".它不是原始标识符null.如果用户输入可以某种方式引用源代码中的变量,那将是一个非常糟糕的设计.这将泄露实施细节.

如果你发现自己使用eval或等同,直接进入监狱,不要通过GO,不要收200美元.


Die*_*Epp 6

你失去了优势None.试试这个:

None = "Hello"
Run Code Online (Sandbox Code Playgroud)

它不起作用(SyntaxError)因为None禁止分配.创建一个额外的变量,null引入了程序中某个未来点的可能性null is not None.

只是用None. None保证.