学習の栞

学びたいことと、学ぶべきことと、学べることの区別がついてない人間の進捗管理

Python勉強しました。

みんなのPython 第3版

みんなのPython 第3版

 

  「みんなのPython第3版」を購入してPythonを勉強しました。

今まで真面目に勉強した言語がC/C++/Javaと静的型付けの言語ばかりだったので、動的型付けの言語の勉強は新鮮でした。はじめのうちはサンプルを読んだり打ち込んだりしているときに気持ち悪いと感じることも多かったのですが、時間が経つと慣れてしまうものですね。

 

一冊を2週間弱で読みきってしまったので、「Pythonは習得までにかかる時間が短いのが魅力の一つ」というのは外れてない気がします。

 

さて、Pythonについて面白いと思った点をふたつほど。

 

リスト内包表記というやつがありまして、例えば

a = [x ** 2 for x in range(5)]

というやつですね。短く書けて便利!!!

 

クラス周りの機能も面白いです。

setattr()という関数を使って例えばこういうことができます。

 

class ClsHoge:
    def foo(self):
        print("foo()")

def bar():
    print("bar()")

def baz(self):
    print("baz()")

# インスタンス作って
a = ClsHoge()
b = ClsHoge()

# メソッド呼んでみる
a.foo()
b.foo()

# 空行
print("")

# setattrを使ってみる
setattr(b, "foo", bar)
a.foo()
b.foo()

print("")

# こういう使い方もできるらしい
setattr(ClsHoge, "foo", baz)
a.foo()
b.foo()

実行結果はこんな感じ

f:id:konjo_p:20140317095040p:plain

うん。とても新鮮。

使いどころはなさそうですが。必要、、、なんでしょうかね、この機能。存在してる以上は必要なんでしょうけど。

 

他にも本読みながらニヤニヤしてた部分はあるのですが、特にニヤニヤできた機能でした。

 

最後に「みんなのPython」についてなのですが、最初の300ページくらいはいいのですよ。ただ、最後のほうになってくると誤植が目立ってくるので「とてもいい本」とはいえない気がしてます。作者ページに正誤表はあるらしいですが、出版社のページに正誤表載ってるわけではないのでちょっと辛いところがあるかも。

14章にGUIアプリケーションの作り方が少しだけ解説してあるのですが、解説が不十分でなぜこれを本にねじ込んだのかよくわかりません。GUIアプリケーションについての解説が必要な人は別に資料を読む必要がありますね。私は今のところPythonGUIアプリケーション作る気は無いので別の資料を読む気はありません。

 

せっかく勉強したので気が向いたら使ってやろう。

 

そろそろOS本も続きやらないと積読化しそう。