在Python中,留下这样一个结尾逗号,当然,不是SyntaxError
:无意后面的逗号,创建一个元组
In [1]: x = 1 ,
In [2]: x
Out[2]: (1,)
In [3]: type(x)
Out[3]: tuple
但是,与此同时,如果后面的逗号被提意外,可能很难赶上这种“问题”,特别是对于Python新手来说。
我在想如果我们可以赶上这种“问题”,静态地,借助PyCharm
智能代码质量控制功能; mypy
,pylint
或flake8
静态代码分析工具。
或者,另一个想法是限制/突出显示创建一个项目元组隐式没有括号。可能吗?
@onlynone顺便说一句,我不知道你的第一个问题/语句的意思。我应该多加一个“这可能吗?”到问题的第一部分?我认为这很清楚我的意思,但是让我知道是否有任何可以改进的问题来使问题更加清晰。谢谢。 – alecxe
我想这很好。这只是奇怪的措辞:“是否有可能(用静态代码分析来检测这个问题)”是一种明显的“是!”! - 这正是静态代码分析工具所做的。它变成了python中最流行的一个,你提到自己的一个,完全是你想要的。另一种解释是“是否有可能(限制创建一个没有parens的项目元组)”,似乎是一个明显的“否”,因为它只是python的工作方式。 – onlynone
PEP8异常含糊地描述了尾随逗号的用法:“好,但令人困惑:”我期待更权威的指导https://www.python.org/dev/peps/pep-0008/#when-to-use-尾随逗号 –