Вы видите CamelCase много в методах и функциях Python? - PullRequest
4 голосов
/ 30 декабря 2010

Руководство по стилю PEP 8 (Python) говорит, что имена методов должны быть в нижнем регистре, и что иногда имена методов могут иметь встроенные подчеркивания.Опытные программисты на Python часто сталкиваются с методами CamelCase (с большим капиталом)?

Ответы [ 6 ]

7 голосов
/ 30 декабря 2010

По моему опыту, соглашения о присвоении имен модуля зависят от следующих факторов:

  • Если это недавно написанный модуль, предназначенный только для Python, или если авторы особенно заботятся о «Pythonic code» (довольно часто!), Именование обычно соответствует рекомендациям в Руководстве по Python.
  • Начинающие в Python часто придерживаются своего любимого стиля, особенно если у них есть фон Java / C # / ....
  • Некоторые компании предпочитают единообразный стиль именования для разных языков.
  • Некоторые модули Python адаптируют API из других языков (особенно Java в модулях threading и xml.dom), включая стиль именования.
  • Привязки Python для библиотек C / C ++ обычно сохраняют исходное имя (например, camelCase для PyQt или PascalCase для VTK)

Я думаю, что последний пункт - самый распространенный способ найти PascalCase в коде Python.

3 голосов
/ 30 декабря 2010

Я был печально известен тем, что в Python охотился на верблюдов, только что пришел с Java.Не более того, хотя.Я предпочитаю стиль заглавных букв "method_name".

Одна известная мне библиотека Python, которая наверняка имеет имена методов в верблюжьей оболочке, это пакет xml.dom и его подпакеты (например, xml.dom.minidom).

1 голос
/ 19 июня 2012

По моему опыту, да, некоторые библиотеки используют camelCase, но это не самый распространенный вариант.

Я лично рекомендую следовать стандарту python (как определено в PEP008), причина очень проста:Каждый человек с различным языком программирования может стремиться «навязать» свой собственный стиль кода, и это довольно опасно, представьте, что фанат java и фанат php пишут код на python вместе ... это может быть весело.

Однако, если уже есть предложенный стандарт, почему бы не следовать ему?Я имею в виду, что в Java все используют CamelCase, почему?ну просто потому, что это соглашение.

Наконец, у вас есть классные инструменты, такие как pylint, которые по умолчанию настроены на проверку синтаксиса PEP008.

1 голос
/ 30 декабря 2010

Лично я предпочитаю не использовать camelCase в Python (или вообще - мой другой язык повседневного использования - C), но я видел, как это было сделано. Мне пришлось сделать это один раз, потому что мы использовали смешанную кодовую базу (немного Python и много ранее написанного кода Matlab), а код Matlab использовал camelCase, хотя я не уверен, почему, так как Matlab, похоже, хмурится также о случае верблюда .

1 голос
/ 30 декабря 2010

Я обнаружил, что довольно часто использую camelCase для имен методов (я использую underscored_names для атрибутов). Основная причина, по которой я приобрел эту привычку, вероятно, заключается в том, что я использую Qt.

Вероятно, было бы проще, если бы Python принудительно ввел соглашение об именах и отступ в четыре пробела ... Стиль - это вещество .

0 голосов
/ 30 декабря 2010

Несколько библиотек имеют это соглашение.Многие программисты происходят из фона, который использует PascalCase для имен методов (Pascal Case - это то, на что вы на самом деле ссылаетесь, это особый случай лидирующей прописной буквы camelCase, о котором вы упоминаете).

Это неверно в руководстве по стилю pythonПоэтому я рекомендую не писать код таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...