我很喜欢Java命名约定,只要它以小写字母开头,所以您可以自由地命名您的方法,因此methodForTest()
是可以接受的。为什么PyCharm在方法命名中不允许使用大写字母?
但是,Python(PyCharm IDE)抱怨这种方式,它需要全部小写。
为什么?我可以禁用这个,所以我可以在方法命名中使用大写字母吗?
我很喜欢Java命名约定,只要它以小写字母开头,所以您可以自由地命名您的方法,因此methodForTest()
是可以接受的。为什么PyCharm在方法命名中不允许使用大写字母?
但是,Python(PyCharm IDE)抱怨这种方式,它需要全部小写。
为什么?我可以禁用这个,所以我可以在方法命名中使用大写字母吗?
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忽略错误类别:
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
这种方式,尤其是在一个团队的开发人员或与多个供体的一个开源项目,有一种常规的,其每个人都遵循让他人的生活更轻松 。
它抱怨,但不强制你遵循PEP8,但是,这是Python,而不是Java,并且应该尽可能遵循PEP8。 –
您可以使用大写字母创建方法。您只是因为违反[PEP8](https://www.python.org/dev/peps/pep-0008/)风格指南而收到警告。 – idjaw
这是完全允许的。它只是令人沮丧,像命名一个Java方法'method_for_test'。 – user2357112