2010-12-30 16 views
4

PEP 8スタイルガイド(Python)では、methodnamesは小文字で、method_namesにはアンダースコアが埋め込まれていることがあります。経験豊富なPythonプログラマーは、しばしばキャメルケース(首都圏)方式に遭遇しますか?CamelCaseはPythonのメソッドや関数の多くを見ていますか?

+1

**メソッド**のキャメルケース(首都)?それは狂気です。 Java/C#でさえこれをしません(おそらくmixedCaseを意味するのでしょうか?)。 – delnan

+2

@delnan:私は、多くのC#の慣行ではパブリックメソッドのためにPascalCaseまたは "大胆なキャメルケース"(a.k.a.、舌で頬、 "Bactrian Camel"の場合)を処方すると考えています。一方、Javaのコーディング規約では、キャピタル(実際のcamelCase、a.k.a.、 "Dromedarian camel"のケース)をメソッドに使用することなく、実際にcamelCaseを処分します。 – Jeet

+1

@delnan:C#/ .NETでは、すべてのパブリックシンボルは、クラス、メソッド、定数、および列挙型を含む大文字で始まります。 –

答えて

6

、モジュールの命名規則は次の要因に依存します。

  • それが書き下ろし、Pythonの専用モジュールの場合、または著者が特に「Python的コード」(かなり共通の世話あれば! )、その名前は通常、Pythonスタイルガイドの推奨事項に固執しています。
  • 初心者は、特にJava/C#/ ...背景を持っている場合は、しばしば好みのスタイルに固執します。
  • 一部の企業では、言語間で一貫した命名スタイルを推奨しています。
  • いくつかのPythonモジュールは、他の言語(特に、スレッド化モジュールとxml.domモジュールのJava)からAPIを適合させます。 C/C++ライブラリの
  • Pythonバインディングは、通常、私は最後のポイントは、あなたがPythonコードでPascalCaseを見つける最も一般的な方法だと思う元命名(VTKのためPyQtはやPascalCaseため、例えばキャメルケース)

を保ちます。

+0

「Style is Substance」への@ 6502のリンクが好きですが、回答を選ぶ必要があり、これは良いものです。 – H2ONaCl

3

私はPythonのラクダケーシングでは有名で、以前はJavaに由来していました。しかしそれ以上のことはありません。私は大文字法の "method_name"スタイルを好む。

私が知っているPythonライブラリの1つに、ラクダのメソッド名がありますが、xml.domパッケージとそのサブパッケージ(xml.dom.minidomなど)があります。

+3

xml.domでcamelcaseを使用する理由は、DOM標準ではCamelcaseを使用しているためです。 – pafcu

0

ライブラリにはこの規則があります。多くのプログラマーは、メソッド名にPascalCaseを使用する背景から来ています(パスカル・ケースは、あなたが実際に言及しているものです。それはあなたが言及している大手のキャメルケースの特別なケースです)。

これはPythonスタイルのガイドでは間違っているので、この方法でコードを書くことをお勧めします。

1

キャメルケースをメソッド名に使用していることがわかりました(属性にunderscored_namesを使用しています)。私がこの習慣を持っている主要な理由はおそらく私がQtを使っていることでしょう。

おそらく、Pythonが命名規則と4つのスペースインデントを強制すると、もっと簡単になりました。style is substance。私の経験で

+2

Pythonはすでに、インデントのような "強制的な慣習"を持つ人々を恐れています。スペースが必要な場合は、私のようなユーザーがさらに増えてしまうでしょう。しかし、大文字を強制する他の言語もあります。ハスケルはそのような言語の一例です。 – pafcu

+4

私はPythonで始めるときに2スペースのインデントスタイルを使用するのに夢中でした。なんてばかな。本当の理由がないために非標準的な大会にどのように夢中になっているのかを理解するために、プログラムを改ざんするスマートなエディタが必要でした。 それは何ですか?重要なスペース!?彼らは真剣ですか? C/C++/Javaという言葉を学んだ後に誰もがPythonで始まると感じているのは、決してスマートなプログラマーを見つけたことはないということです。 あなたはおそらく誰かを追い払うでしょう...しかしスマートなものではありません。 – 6502

+3

人は異なっていて、異なる人が異なるスタイルを好む。私は "美しい"コードを見るのが好きですが、芸術のように、美しさは見る人の目の前にあります。非標準スタイルを使用する美術を批評する人は何人ですか?たくさんの。それは彼らが正しいことを意味しますか?個人的に私はPythonの構文が気に入っていますが、私は賢くない人はいないと示唆するほど傲慢ではありません。 – pafcu

1

私は個人的にはPythonでcamelCaseを使用しない方が好きです(または、私の他の日常使用言語はCです)。 Matlabがラクダのケースでも嫌になっているように見える理由はわかりませんが、混合コードベース(いくつかのPythonと以前に書かれたMatlabコード)とMatlabコードを使用していたので、 。

1

私の経験では、いくつかのライブラリはcamelCaseを使用していますが、最も一般的なものではありません。

私は個人的に、PEP008で定義されているように、Python標準に従うことを奨励しています。理由は非常に簡単です。プログラミング言語の背景が異なる人はすべて、自分のコードスタイルを「課す」傾向があり、 JavaのファンとPythonのコードを一緒に書いているPHPのファンを想像してみてください...楽しいかもしれません。

しかし、既に提案されている標準がある場合は、それに従うことをおすすめしますか?私は誰もがcamelCaseを使用するJavaで、なぜですか?慣例であるために、

最後に、pylintとして、PEP008の構文をチェックするようにデフォルト設定されているクールなツールがあります。

関連する問題