スマートPythonプログラミングを読みました

pythonの環境構築から始まり、つまずきやすい点やテストを解説してて、簡潔にまとまっていて良かったです。

いくつか間違いかな?って思った点があったので、メモしておきます。(すでに修正済みでしたらすみません)

sorted関数のkey引数について

「引数keyには比較対象の大小関係を表す整数値を返す関数を指定します。」
とありますが、整数値でなければいけないわけではなくて、ソートするときに使用する値を返せばいいと思います。例えばPersonオブジェクトをソートするときに、name属性を返せば名前でソートすることができるとか。operatorモジュールのattrgetter関数がそれを簡単につくってくれます。

cgi.escape

「代わりにhtmlモジュールのescape()関数を使用してください」のあとに続くコードが、また
from cgi import escape
になっていますが、
from html import escape
の間違いかと思います。

method#im_*のim_func

「im_funcが__func__になった」というくだいのあとに続くコードが、
MyClass.greet.im_func
になってますが、im_funcが__func__になったというコードなのでim_funcでなくて__func__。またインスタンスメソッドから関数オブジェクトを取得するというものなのでインスタンス化しないとダメなんじゃないかと思いました。
MyClass().greet.__func__


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)