- pythonであれ?とおもったことをメモしときます。
こういうの→ __name__
- perlも$_をはじめとして、さまざまな特殊変数があるので謎言語とも言われますが、どんな言語でもお約束なキーワードって最初は戸惑いいますよね。最初に気づくのはこれだとおもいます。
if __name__ == '__main__':
そもそもアンダースコアが特殊
-
日本語の説明がありました。予約済みの識別子種
-
システムで使用するアンダースコアが2つのやつ(__xxx__)をいくつか試してみます。
- __name__
- スクリプトで実行すると'__main__'となり、モジュールから呼ぶとモジュール名、関数から呼ぶと関数名となるそうです。
>>> __name__
'__main__'
>>> def hoge():
... print(u'hello')
...
>>> hoge.__name__
'hoge'
- __init__とか
- クラスの定義とかででてきますね。
>>> class MyClass:
... def __init__(self):
... self.name = "anonymous"
...
>>> a = MyClass()
>>> a.name
'anonymous'
- 特殊メソッド名もいろいろ説明があります。これをきっちり覚えると開発もスムースに行きそうですね。
objective-cでも...
- メンバ変数で_をつけるのはobjective-cでもありますね。
- メンバ変数にアンダースコアつけて直接アクセスするな!って意味はほぼ同じかな?