メモ書き。
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()