Python勉強会に参加した

id:wakizakaが有志を募ってPython勉強会を開催したので参加させてもらいました。
流れとしては、
Pythonインストール→対話シェル→構文→関数→クラス
の順に進んでいきました。


Pythonいいね。と思ったところ

  • 対話シェル・・・Rubyにもありますが、Javaだと「こう書くどんな挙動するんだっけ?」というときに、いちいち0からクラスを書かないといけないので、こういう風に軽く書けるのはいいですね。
  • 文法が結構厳密・・・:とインデントでブロックになるので、{}とか書かなくていいのは楽かも。;はつい癖で書いてしまいます。
  • リストとタプルが柔軟・・・list[-1]で最後から1番目の要素を持ってくると書けます。list[1:]で2番目以降の要素をスライスできます。
  • 関数で値を複数リターンできる・・・これは初体験かも。

Pythonの違和感を覚えるところ

  • mainメソッドがif __name__=='__main__':・・・この説明まではほとんど違和感はなかったのですが、この書き方でぎょっとしました。とりあえず、__name__には何がどうやって格納されるのかを調べます。
  • リストとタプルの違いがよくわからない・・・タプルが値の変更ができないのはわかったのですが、使い分ける場面がよくわかりませんでした。
  • タプルの最後に,がいる・・・配列とか書いているときによく間違えて書いてしまうことはあるのですが、言語仕様的につける必要があるのは驚きです。
  • クラスのメソッドの引数にselfが必須・・・thisのような特殊な名前が出てくるのを嫌ってでしょうか。ちょっと面倒。
  • __init__()とか__str__とか・・・多分、objectから継承したメソッドをオーバーライドしてるのかな?
  • インクリメントがない?・・・あとで調べる


Pythonは書き方に多様性をなるべく持たせないようにしているようなので、ソースコードは非常にすっきりとして見やすいです。
最近はJavaばかり書いているので、LLを書くとプログラミング効率が非常に上がった気がします。
次回はDjangoらしいので期待です。