初版を読まれている方へ ############################################ Pythonスタートブックをご愛読いただきありがとうございます。初版の出版は2010年でしたが、いまではPython3が主流になってきています。このページでは、Python2を想定して書かれている初版を、Python3で利用するときの主な注意点をまとめておきます。 サンプルデータと正誤表 ******************************************************************************** `技術評論社のページ `_ を参考にしてください。 割り算の結果が小数になります ******************************************************************************** 30ページで2/4が0となるのは、Python2での結果です。Python3では、0.5となります。その他の部分も適宜読み替えていただけると助かります。 文字列とバイト列が区別されるようになりました ******************************************************************************** 32ページで、「あいうえお」が日本語では無くなる例がありますが、こちらはPython3では問題無く表示されます。小数のことも含め、Python3はより自然な理解ができるようになっています。 setの出力記述がすこし違っています **************************************** 113ページでsetを扱う際に、画面への出力が以下のようになっています。 >>> print(test_set) set([1, 2, 3]) これは、Python3では次のように出力されます。 >>> print(test_set) {1, 2, 3} ちなみにPython3では、setを定義するために、新しいリテラル(書き方)が導入されました。以下のようにすることで、直接setを作る事が出来ます。 >>> {1, 2, 3} {1, 2, 3} raw_input関数がinputになっています **************************************** 148ページで使われているraw_input関数ですが、3.x系ではinput関数に名前が変更されています。 window_width()メソッドに関して **************************************** 180ページのSTEP3、キャンバスの座標系のコードを以下のように変更してください。 >>> kame.getscreen().window_width() 960 >>> kame.getscreen().window_height() 810 同様に、263ページでhit_wall関数を定義している部分も以下のように変更してください。 :: def hit_wall(self): xx = self.getscreen().window_width() / 2.0 yy = self.getscreen().window_height() / 2.0 この変更は、Python2.x系を使っている場合もエラーになりません。また、getscreenメソッドについては、268ページに解説があるので、参考にしてください。 reload関数が使えなくなっています **************************************** 205ページと214ページで、モジュールを読み込み直すために組み込み関数reloadを利用していますが、Python3からはすこし面倒になり、以下のようにする必要があります。 >>> import importlib >>> importlib.reload(my_module) テキストエディタについて **************************************** どのテキストエディタを利用するかは難しい問題ですが、Windows、macOS、Linuxとクロスプラットフォームで利用できるエディタを選ぶのが良いと思います。 以下のエディタがおすすめです。Sublime Textはシェアウェアですので、継続利用する場合は、お金を払ってライセンスを購入してください。 `Visual Studio Code `_ `ATOM `_ `Sublime Text3 `_ (昔の記述)WindowsOS **************************************** 本書では紹介していませんが、デフォルトでPythonのコーディングに対応していて、無償で利用出来るWindows用のテキストエディタとして、 `Notepad++ `_ がお薦めです。 Webページは英語ですが、ソフトウェアは日本語にも対応しています。また、 `日本語対応強化版 `_ を作ってくださっている方もいるので、便利です。 書籍内で紹介しているEmEditorとGinnieについては、以下の注意点をご覧ください。 付録BのSTEP2で、テキストエディタとしてEmEditorを紹介していますが、バージョンが13になって無償のFree版とProfessional版が同じファイルで配布されるようになっています。ダウンロードは、 `こちら `_ からできます。 もう一つ本書で紹介しているエディタはGinnieですが、2016年9月現在、Webページへのリンクが切れてしまっています。