ツヨシのブログ

技術的な事とか日常の事とか徒然なるままに

Pythonの命名法

開発でPythonを使ってみようと思いコーディングをするときの命名方法について調べた。 Googleでは次のような感じで命名しているのでこれを参考にしたいと思う。

http://google-styleguide.googlecode.com/svn/trunk/pyguide.html

命名規則

避けるべき名前

  • カウンタやイテレータ以外の1文字の名前
  • パッケージ、モジュール名の中のハイフン(-)
  • __double_leading_and_trailing_underscore__2重アンダーライン(Pythonで予約されている)

一般的な名前

  • “Internal”はモジュールの内部もしくはプロテクト、プライベートクラスを意味する。
  • 一つののアンダーライン(_)は、モジュール変数や関数の保護することをサポートしている。インスタンス変数や関するの前の二つのアンダーライン(__)は変数やメソッドをプライベートにする。
  • モジュール中に関係するクラスとトップレベルの関数を置く。Javaに似ておらず、モジュールあたり一つのクラスであることを制限する必要はない。
  • クラス名のためにCapWordsを使うと、lower_with_under.pyのモジュール名となる。たくさんの存在するモジュール(CapWords)がある。クラス名の後にモジュールの名前がつけられたら混乱するからである。(wait -- did I write import StringIO or from StringIO import StringIO?)
タイプ パブリック 内部
Packages lower_with_under
Modules lower_with_under _lower_with_under
Classes CapWords _CapWords
Exceptions CapWords
Functions lower_with_under() _lower_with_under()
Global/Class Constants CAPS_WITH_UNDER _CAPS_WITH_UNDER
Global/Class Variables lower_with_under _lower_with_under
Instance Variables lower_with_under _lower_with_under (protected) or __lower_with_under (private)
Method Names lower_with_under() _lower_with_under() (protected) or __lower_with_under() (private)
Function/Method Parameters lower_with_under
Local Variables lower_with_under