LoginSignup
6
10

More than 5 years have passed since last update.

pythonのお作法などについての備忘録

Last updated at Posted at 2019-01-28

メモ書き。

PEP8に準拠

変数名など
abc = 1  #空白文字は行内は1つ、行末は2つが推奨

#定数 大文字スネーク
HOGE_HOGE

#プライベート変数 _プリフィックス(アクセス可能だが紳士協定でアクセスしない約束)
_hoge_hoge

#ローカル変数 小文字スネーク
hoge_hoge
クラス
#クラス名はCapWords(パスカル、アッパーキャメル記法)
#クラス変数 staticな変数 クラス直下に定義
class Hogehoge():
    value = 0

class Hogehoge():
    def __init__(self, value):  
        #インスタンス変数 init内(コンストラクタ)で定義 selfを経由する
        self._value = value

    #デコレータによるプロパティの実装
    @property
    def value(self):
        return self._value

    @value.setter
    def value(self, value):
        self._value = value

    @value.deleter
    def value(self):
        del self._value

    #クラスメソッド(継承先クラスで挙動が変わるときなどに利用)
    @classmethod
    def hoge_class_method(cls, name):
        print('ClassMethod' + name)

    #スタティックメソッド
    @staticmethod
    def hoge_static_method():
        print('StaticMethod')

#継承
class ChildHogeHoge(HogeHoge):
    def __init__(self, value)
        super().__init__(value)
関数
#関数定義は小文字スネーク
#docstring
#引数、戻り値アノテーション(型エラーは起きない。あくまでも注釈)
#デフォルト引数
def hoge_hoge(input: 'int' = 1) -> 'int':
    """
    2乗するメソッド
    """
    return input ** 2

#関数の呼び出し
#キーワード引数が利用可能
hoge_hoge(input = 3)

#可変長引数
def geho_geho(*args):
    print('geho')

#可変長キーワード引数(辞書として受取)
def gehoho_gehoho(**kwargs):
    print('geho')

gehoho_gehoho(name = 'tanaka')
その他
#!/usr/bin/env python
# ↑ shebang python 2.x系が動作

#!/usr/bin/env python3
# ↑ shebang python 3.x系が動作


def main():
    print('hoge')

#モジュール呼出時の実行防止
if __name__ == '__main__':
    main()

参考

python 組み込み関数
【Python入門】いまさらだけどパイソニスタとして必要な文法を網羅してみた

6
10
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
10