我对Java命名约定感到满意,只要它以小写字母开头,您就可以自由命名方法,因此可以接受methodForTest()
。
然而,Python(PyCharm IDE)抱怨这种方式,它需要全部小写。
为什么呢?我可以禁用它,以便在方法命名中使用大写吗?
答案 0 :(得分:10)
Python 没有这样的限制。
Python标识符必须以下划线或字母(大写或小写)开头,后跟任意数量的下划线,数字或字母(再次,大写或小写,无关紧要);这意味着ALL_UPPERCASE名称是完全有效的Python。请参阅参考文档中的Identifiers and keywords部分; Python 3 expanded on this by allowing a wider range of Unicode。
然而,广泛采用的PEP 8 Python styleguide确实可以在naming functions上说明:
函数名称应为小写,并根据需要用下划线分隔,以提高可读性。
这是约定但是,不是语法要求。也许您的IDE安装了一个linter,当您违反此约定时会发出警告。如果你愿意,你可以忽略它。我注意到PyCharm implements such a check,例如。
在PyCharm中,您可以单击警告图标并告诉PyCharm忽略错误类别:
答案 1 :(得分:0)
Python非常宽容(也许太多了),让你几乎做任何你想做的事。
您可以根据需要命名您的类,方法,变量。您可以访问实例的每个变量,没有公共/私有概念。
Pycharm / IntelliJ只是警告你,但不要强迫你遵循PEP8,但是,这是Python,而不是Java,应该尽可能地遵循PEP8。
Python完全是关于 可读性超过幻想 ,例如:
[x for x if a_list if x == 1]
优于
map(lambda x: x == 1, a_list)
以及
class MySuperAwesomeClass:
pass
def my_super_function():
pass
优于
class my_super_awesome_class:
pass
def mySuperFunction()
pass
通过这种方式,特别是在开发人员团队或具有多个贡献者的开源项目中,每个人都遵循一种惯例来让别人生活 更容易。