ひぐぺん工房トップへ おかげさまで24周年!

ひぐぺん工房(松浦健一郎・司ゆき) - HigPen Works
・今までの仕事 ・書籍 ・最近の業務 ・対応可能言語 ・お見積

『Technical Master はじめてのPython エンジニア入門編 Python3対応』
Q&A

以下の回答で問題が解決しなかった場合には、 こちらから ご連絡ください。

補足


2019/08/02
Q.ダウンロードファイルの実行
A.
本書のダウンロードファイル内のプログラムを実行する方法について補足します。
  1. Section02-01/02-02/02-03のいずれかを読んで、CPython/Anaconda/Minicondaのいずれかをインストールします。pythonコマンドの起動方法も確認しておきます。
  2. 入手したダウンロードファイルを展開します。ここでは、例えば「C:\Users\higpen\Pythonエンジニア入門編」に展開したとします。
  3. コマンドプロンプトまたはAnacondaプロンプトを起動します。
  4. cdコマンド(本書p.40)を使って、実行したいプログラム(.pyファイル)があるディレクトリに移動します。例えばChapter11のfft2.pyを実行する場合には、「cd C:\Users\higpen\Pythonエンジニア入門編\chapter11」とします。
  5. 必要なパッケージがある場合には、事前にインストールしておきます。例えばChapter11(Section11-03)のfft2.pyの場合には、NumPy(Section11-01)/SciPy(11-02)/Matplotlib(11-03)のインストールが必要です。
  6. 必要なファイルがある場合には、事前に準備しておきます。例えばChapter11のfft2.pyの場合には、Chapter10(Section10-08)で作成するla.wavという音声ファイルを、あらかじめchapter11ディレクトリにコピーしておく必要があります。作成済みのla.wavも用意しましたので、ダウンロードしてchapter11ディレクトリにコピーし、ご利用ください。
  7. pythonコマンドを使って、プログラムを実行します。例えばfft2.pyの場合には、「python fft2.py」とします。
なお、Windows(Windows10)のエクスプローラを使って、目的のディレクトリでコマンドプロンプトを開く方法もあります。
  1. エクスプロ-ラで、実行したいプログラム(.pyファイル)があるディレクトリを表示します。
  2. エクスプローラのアドレスバー(上端にある「PC>C:>ユーザー>…」などと表示されている枠)をクリックして、「cmd」と入力し、Enterキーを押します。
  3. 現在開いているディレクトリでコマンドプロンプトが開くので、pythonコマンドを使ってプログラムを実行します。

2019/09/17
Q.TensorFlowを使ったプログラムの実行(Section 13-02)
A.
TensorFlowのバージョンアップ時に仕様が変更されて、プログラムが動かなくなることがあります。もし本書のプログラムが動作しない場合には、以下のようにバージョンを指定してTensorFlowをインストールした後に、本書のプログラムを実行してみてください。2019/9/17の時点で、TensorFlow 1.13.1を使って、本書のプログラムが動作することを確認しました。
なお、指定した画像を判別するプログラム(tf_image.py)を実行する際には、プログラム(tf_image.py)と同じフォルダに、判別対象の画像ファイル(0.png~9.pngなど)を配置してください。

2020/02/04
Q.括弧の使い分け(Section 04-04、05-01、05-02など)
A.
Pythonでは、次のような3種類の括弧(かっこ)を使います。

記号名称
()丸括弧、小括弧
{}波括弧、中括弧
[]角括弧、大括弧

文法ごとに正しい種類の括弧を使う必要があります。誤った種類の括弧を使うと、プログラムが動作しなかったり、意図とは違う動作をしたりします。

例1:
タプルを作るときには、丸括弧()を使います(p.76)。
  a = ('curry', 860)
タプルの要素を取得するときには、角括弧[]を使います(p.77)。
  a[0]

例2:
リストを作るときには、角括弧[]を使います(p.70)。
  menu = ['curry', 'pasta', 'steak']
リストの要素を取得するときには、角括弧[]を使います(p.71)。
  menu[0]
リストの要素を変更するときにも、角括弧[]を使います(p.71)。
  menu[1] = 'doria'

本書の例において、どの種類の括弧が使われているのかをよく確認して、同じ種類の括弧を入力してみてください。もし、お使いの環境で括弧が上手く入力できない場合には、以下をお試しください。

2020/02/04
Q.timeitモジュールの実行方法(Section 10-05)
A.
timeitモジュールを実行するときには、Pythonインタプリタの内部ではなく、コマンドプロンプトやAnacondaプロンプト上で、例えば次のように実行してください。

C:\Users\ユーザ名> python -m timeit "[x for x in range(100)]"
100000 loops, best of 5: 3.16 usec per loop

Pythonインタプリタの内部で実行すると、次のようなエラーになってしまいます。
>>> python -m timeit "[x for x in range(100)]"
 File "", line 1
  python -m timeit "[x for x in range(100)]"
       ^
SyntaxError: invalid syntax

この場合はPythonインタプリタを終了してから、上記のようにtimeitモジュールを実行してください。Pythonインタプリタの終了には、Ctrl-Zキー(macOS/LinuxではCtrl-Dキー)を使います(p.38)。

あるいは、Pythonインタプリタを実行しているコマンドプロンプト(Anacondaプロンプト)とは別に、もう一つコマンドプロンプト(Anacondaプロンプト)のウィンドウを開き、そちらでtimeitモジュールを実行しても構いません。

2020/02/18
Q.本書の通りに入力したはずなのに動かない
A.
本書の通りにプログラムを入力したはずなのに、意図した通りに動かない場合には、以下をお試しください。
  1. ダウンロードファイルを利用する。
    まずはダウンロードファイルをそのまま利用して、実行してみてください。これで正しく動作する場合には、入力したプログラムのどこかが本書のプログラムと異なっている可能性があります。ダウンロードファイルが正しく動作しない場合には、このQ&Aを参照していただき、Q&Aに対策が掲載されていない場合には、誠にお手数ですがご連絡をいただけましたら幸いです。
  2. 入力したプログラムと本書のプログラムを比較する。
    目で比較しても分からないときには、ツールを使ってファイルの内容を比較するのがおすすめです。コマンドラインで使える標準搭載のツールとしては、macOSやLinuxには「diff」、Windowsには「fc」があります。別途インストールが必要ですが、Windowsでは「WinMerge」などのツールも便利です。またテキストエディタによっては、ファイルの内容を比較する機能を内蔵しているものもあります。
例えば、以下は本書p.191のプログラムです。

  pattern = r'(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}'

以下は一部が異なっているために正しく動かないプログラムです。

  pattern = r'(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8.}'

どこが異なっているのか分かりづらいのですが、この場合は末尾付近の「8,」と「8.」が異なります。

最終更新 2020/02/18
トップページへ
©ひぐぺん工房 禁無断転載
動画講座「 AIへまっしぐら! Pythonアニマルズ 」 最新刊『 AWSでつくる AIプログラミング入門 』
このサイトはリンクフリーです。 このサイトはChromeで動作検証しています。ブラウザにかかわらず表示に乱れがありましたらどうぞお知らせ下さい。メールを送る