Posted at

perl使いのpythonメモ - 特殊変数

More than 1 year has passed since last update.


  • pythonであれ?とおもったことをメモしときます。


こういうの→ __name__


  • perlも$_をはじめとして、さまざまな特殊変数があるので謎言語とも言われますが、どんな言語でもお約束なキーワードって最初は戸惑いいますよね。最初に気づくのはこれだとおもいます。

if __name__ == '__main__':


そもそもアンダースコアが特殊


  1. __name__


  • スクリプトで実行すると'__main__'となり、モジュールから呼ぶとモジュール名、関数から呼ぶと関数名となるそうです。

>>> __name__

'__main__'
>>> def hoge():
... print(u'hello')
...
>>> hoge.__name__
'hoge'


  1. __init__とか


  • クラスの定義とかででてきますね。

>>> class MyClass:

... def __init__(self):
... self.name = "anonymous"
...
>>> a = MyClass()
>>> a.name
'anonymous'



  • 特殊メソッド名もいろいろ説明があります。これをきっちり覚えると開発もスムースに行きそうですね。


objective-cでも...


  • メンバ変数で_をつけるのはobjective-cでもありますね。

  • メンバ変数にアンダースコアつけて直接アクセスするな!って意味はほぼ同じかな?