当我处理从不同语言生成的输入/输出时,我常常在将这些输入/输出输入到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美元.
你失去了优势None.试试这个:
None = "Hello"
Run Code Online (Sandbox Code Playgroud)
它不起作用(SyntaxError)因为None禁止分配.创建一个额外的变量,null引入了程序中某个未来点的可能性null is not None.
只是用None. None保证.