ariyasacca

カテゴリ一覧

Biz | SF | Software | tDiary | Web | ゲーム | サバティカル | スポーツ | ミステリ | メタル | 健康 | 投資 | 携帯 | 時事ネタ | 死生観 | 資格 | 雑記
2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2010-05-30 (日) [長年日記]

[雑記]『みんなのPython 改訂版』を読んだ

みんなのPython 改訂版(柴田 淳)

スクリプト言語Pythonの入門本である『みんなのPython 改訂版』を読みました。会社にオライリーのやつが置いてあったのだけど、余りの厚さに怖気づいてしまい、1冊目として評判の良いみんPyを買って読むことにしました。

ゴールデンウィークくらいから読み始めて、休日に少しずつ読み進めて、今日読み終わりました。

  • 言語概念の解説と、Pythonに標準で付属するインタラクティブシェルによる動作の確認が交互に登場するので、実際に動かして小さな達成感を得ながら楽しく読めます。
  • バージョン3.x系への移行を視野に入れながら、現在の主流バージョン2.6を使うにはどうしたら良いかが巻末でフォローされており、Pythonでちょっとしたスクリプトを組んでみようという時の参考になります。
  • 全般的にプログラミング初心者でも分かり易いよう配慮して書かれた本ですが、一部でC, Java, Rubyへの言及というか、「これらの言語ではこうするところがPythonでは〜」という説明もあって、他言語経験者向けという印象を持ちました。
  • サンプルコードに誤りがちょくちょくあって、「写経してみたけど動かない!」と頭を抱えるときがありました。サポートページでもフォローしきれてないこともしばしば。自分が読んだのは初版なので、新しいものでは修正されているのかもしれません。
  • 14章「アプリケーションを作る」でGUIアプリケーションを作る話が実践的で面白かったです。
    • まずデータ構造(リスト型のラッパー的なクラス)を設計・実装してテストして、それからGUIの設計に入って行きます。こういう流れは普段から意識したい。
    • しかし、前述のとおり掲載されている内容ではうまく実行できないため、サンプルコードをダウンロードして確認する必要があります。

YumやMercurialなど、Pythonで記述されたCUIフロントエンドは多くあるので、どんなスクリプトが動いているのがちょっと読んでみたいと思った時のとっかかりとして、必要十分なことが身に付けられる本です。

Python雑感

Pythonに触れるのは、ほぼ初めてなので、最初の印象を覚え書き。

  • 小さな言語仕様で、多くの概念が学べる良い言語です。
    • オブジェクト指向
    • 例外処理
    • 繰り返し(イテレータが綺麗に組み込み型に入ってます)
    • スレッド
    • モジュール
    • クロージャ
    • コルーチン
  • インデントブロックは、全然気にならないです。読み易くて好きです。
  • 真偽値の評価が、「こうであって欲しい」ものと一致するのが素晴らしい(参考:各言語におけるtrue/falseまとめ)。
  • 予約語が少ないのが美点と言いつつ、実は暗黙的に宣言されている変数が結構存在するようです。
  • lambdaが式しか記述できないとか調子こいて不満を書いてしまいましたが、リスト内包表記という強力な構文があるので、何だかんだで簡単な処理なら短く記述出来てしまいます。後から知ったのでちょっと恥ずかしい。
  • よく比較されるRubyとは、実は全然違う言語なのかなぁと思いました。関数定義が同じdefで始まるので、パッと見た感じが似ている面はあると思います。
  • むしろ同じ関数ファーストクラスオブジェクトであるJavaScriptによく似ている印象を受けます。
    • 名前空間が、関数スコープと、モジュールレベルのグローバルスコープの2つである点。
    • 関数の扱いも、実行可能な、モジュールやクラスのアトリビュート(プロパティ)である点。
  • しばしば槍玉にあがるself地獄は確かに面倒です。しかしこれをいちいち宣言しているお陰で、イベントからコールバックされる度に自身(self, this)を見失ってしまうJavaScriptみたいにapply, call地獄にならないで済むと思えば良いのかも(参考:Pythonのselfはなぜ必要かをJavaScriptのthisで考える)。
  • 正規表現リテラルが欲しいです。import reは面倒というだけでなく、マッチオプションのフラグも、いちいちre.M, re.Iやら書くのはちょっと。

[携帯]auで機種変更したい機種が無い

auの2010年夏モデルが発表されたんだけど、「機種変更したい!」と思える機種が無い。

今使っている機種が、かれこれ3年3ヶ月も使い続けていて、サブ液晶とか既にボロボロなんだけど。

別にスマートフォンでなくても全然構わないのだけど、最近の携帯電話って、液晶が巨大化していて縦に長い折り畳み機種 or 全面液晶のスライド機種と云うのが地味に嫌だ。ポケットの中でかさばりそう。

あとワンセグは、そろそろ購入する人が付けるか付けないか、選択制にして欲しい。要らない機能なのにNHKから受信料を請求されるとか、たまったもんじゃない。

今年になって遂に僕もおサイフケータイやQUICPayのアプリに手を出してしまったので、きっと機種変更したら設定の移行が大変なんだろうなーとかいうことも含めて憂鬱であります。今使ってる機種に、もうちょっと頑張ってもらおうかなぁ。あと2年ちょっとの命(2012-07-24停止)なんですけどね!


最近のツッコミ

  1. ともお (2024-05-29(水)20:59)「真上からの恐怖🫨」
  2. いちごみるく (2024-05-29(水)20:59)「🩸」
  3. レモン (2024-05-29(水)20:59)「レモン」

参号館  の中の  日記(ariyasacca)

トップ «前の日記(2010-05-29 (土)) 最新 次の日記(2010-06-05 (土))» 編集