Skip to content
miyagawa edited this page Dec 10, 2020 · 38 revisions

『退屈なことはPythonにやらせよう』の正誤表

下記の誤りがありました。お詫びして訂正いたします。また、ご指摘のメールを送っていただいた皆様に感謝申し上げます。

本ページに掲載されていない誤植など間違いを見つけた方は、japan@oreilly.co.jpまでお知らせください。

第8刷まで

■p.370 6行目

>>> csv_file = open('example.tsv', 'w', newline='')

>>> csv_file = open('example.csv', 'w', newline='')

第7刷まで

■p.49 コラム下から3行目

not nameの代わりにname != ''と書いてもよいし、

not nameの代わりにnot name != ''と書いてもよいし、

■p.169 12行目

['R', 'b', 'c', 'p', ' ', 't', 's', ' ', 'b', 'b', 'y', ' ', 'f', 'd',

['R', 'b', 'C', 'p', ' ', 't', 's', ' ', 'b', 'b', 'y', ' ', 'f', 'd',

■p.306

openpyxl の新しいバージョンでは、Worksheetオブジェクトのrows属性およびcolumns属性は、タプルのタプルではなく、タプルを順番に返すジェネレータを返すようになりました。そのため、sheet.columns[1]のようにインデックスで要素を指定するとエラーになります。 tuple(sheet.columns)[1]のように、いったんタプルに変換して要素にアクセスするように修正します。

>>> sheet.columns[1]
...
>>> for cell_obj in sheet.columns[1]:

>>> tuple(sheet.columns)[1]
...
>>> for cell_obj in tuple(sheet.columns)[1]:

■p.336 下から2行目

meetingminutes.pdfをからダウンロードしてから、

meetingminutes.pdfをダウンロードしてから、

■p.535 下から12行目

assert(spam >= 10, 'spam変数は10未満であること')

assert(spam >= 10, 'spam変数は10以上であること')

第6刷まで

■p.225 下から5行目

samp.txtというファイル

spam.txtというファイル

第3刷、4刷、5刷のみ

■p.192 6行目

>>> (os.path.dirname(cell_file_path), os.path.basename(cell_file_path))

>>> (os.path.dirname(calc_file_path), os.path.basename(calc_file_path))

■p.192 12行目

>>> cell_file_path.split(os.sep)

>>> calc_file_path.split(os.sep)

第5刷まで

■p.45 図2-12

name != 'あなたの名前'

name == 'あなたの名前'

■p.80 下から5行目

Hello cat'

'Hello cat'

■p.136 11行目

islower()はisupper()の他にもisで始まる文字列メソッドがあります。

islower()やisupper()の他にもisで始まる文字列メソッドがあります。

■p.161 下から6行目

mo.group()は複数の値からなるタプルを返すので、

mo.groups()は複数の値からなるタプルを返すので、

第4刷のみ

■p.318 コード❶

ffor row_num in range(2, sheet.max_row + 1): # 先頭行をスキップ❶

for row_num in range(2, sheet.max_row + 1): # 先頭行をスキップ❶

第4刷まで

■p.48 図2-13

誤

正

■p.209 下から9行目

mbcという

mcbという

■p.211 5行目

mbc_shelf

mcb_shelf

■p.296 下から5行目

本文テキストをの電子メールを送信するプログラムを書きなさい

本文テキストの電子メールを送信するプログラムを書きなさい

■p.307 18行目

6. インデックスやスライス、Worksheetオブジェクトのcall()メソッドにrowと

6. インデックスやスライス、Worksheetオブジェクトのcell()メソッドにrowと

第3刷まで

■p.10 図1-2 キャプション

spam = 2 とは

spam = 42 とは

■p.10 下から9行目

シェルに入力に入力して

シェルに入力して

■p.21 9行目

知的な判断な判断を

知的な判断を

■p.37 下から1行目

200が入れ替わっている点に注意してください。

2000が入れ替わっている点に注意してください。

■p.42 下から1行目

nameに格納された値が'名前'でなければ

nameに格納された値が'あなたの名前'でなければ

■p.53 下から12行目

forループ要の

forループ用の

■p.66 下から5行目

egg変数

eggs変数

■p.99 訳者補記 3行目

eggs指す

eggsが指す

■p.212 下から4行目

形容動詞

副詞

■p.227 9行目

# TODO: ファイルのフルパス(絶対パス)を取得する

(削除)

原書のコードではos.path.abspath()で絶対パスを取得し、os.path.join()でファイル名のフルパスを作成していましたが、 カレントディレクトリのファイルを扱っているため、絶対パスにする必要がありません。 コメントを削除し忘れており申し訳ありませんでした。

■p.261 下から7行目

# TODO: クリップボードからから住所を取得する

# TODO: クリップボードから住所を取得する

■p.262 下から9行目

# クリップボードからから住所を取得する

# クリップボードから住所を取得する

■p.307 15行目

activeブ属性

active属性

■p.304 12.3.4 3箇所、p.305 8行目、p.538 12-9と12-10の2箇所, p.555 索引「O」3行目、4行目

openpyxl.cell

openpyxl.utils

■p.318 コード❶

for row_num in range(2, sheet.max_row): # 先頭行をスキップ❶

for row_num in range(2, sheet.max_row + 1): # 先頭行をスキップ❶

■p.441 5行目

メールを送信を送信します

メールを送信します

■p.445 7、10、21、23、24行目、p.448 4、6、10行目

TwilioRestClient

Client

■p.483 下から6行目

guest.txt

guests.txt

第2刷まで

■p.xiii 17行目

そうでなれけば

そうでなければ

■p.4 コラム「間違っても気にしない!」5行目

メッセージをそのものを

メッセージそのものを

■p.6 図1-1

(5 - 1) * ((7 + 1) / (3 - 1))
      ↓
      4 * ((7 + 1) / (3 - 1))
      ↓
      4 * ( 8 ) / (3 - 1))
      ↓
      4 * ( 8 ) / ( 2 )
      ↓
      4 * 4.0
      ↓
      16.0

(5 - 1) * ((7 + 1) / (3 - 1))
      ↓
      4 * ((7 + 1) / (3 - 1))
      ↓
      4 * (8 / (3 - 1))
      ↓
      4 * (8 / 2)
      ↓
      4 * 4.0
      ↓
      16.0

■p.34 下から3行目、p.36 図2-6、p.37 12、13行目、p.38 図2-7 5か所

Ailceはお前のような

Aliceはお前のような

■p.66 13行目

グローパル

グローバル

■p.72 「3.7 例外処理」3行目

プログラムをがエラーを

プログラムがエラーを

■p.104 10行目

eggs()を呼び出しすとき

eggs()を呼び出すとき

■p.109 下から9行目

'desposition'

'disposition'

■p.119 2行目

ファイルエディタにを開いて

ファイルエディタを開いて

■p.165 12行目

マッチしせず

マッチせず

■p.192 6行目(2か所)、12行目

calcFilePath

calc_file_path

■p.220 コード中 3か所

baconFile

bacon_file

■p.250 下から5行目

Debug Congrolウィンドウ

Debug Controlウィンドウ

■p.297 最終行

リンクが切れとして

リンク切れとして

■p.340 下から2行目

Fileオブジェクトにを渡して

Fileオブジェクトを渡して

■p.383 リストの次の行の冒頭

weatherData['list']

weather_data['list']

■p.396 下から2行目

細々としたしたことを

細々としたことを

■p.480 下から6行目

画像画像処理

画像処理

■p.488 下から4行目

pautogui.size()

pyautogui.size()

■p.526 上から3行目

カレントディレクトリを表示しするには、

カレントディレクトリを表示するには、
Clone this wiki locally