演習 - Hello world!

完了

プログラミングを学習する最も簡単な方法は、小さなプログラムを数百個とまではいかなくても数十個は作成することです。これは、基本的な考え方を理解し、重要な手法を実践するのに役立ちます。

作成する内容

このユニットでは、1 行のコードを使用して、画面にメッセージを出力するプログラムの作成を開始します。 このアクティビティを実行するには、Visual Studio Code 内を移動してコード エディターで作業する必要があります。

手順 1 - 最初の Python プロジェクト用の新しいフォルダーを作成する

  1. 使用しているコンピューターで、作業内容を格納するためのフォルダー構造を作成します。

    注意

    各モジュールのすべての演習を含む 1 つのフォルダーを作成することをお勧めします。 この新しい親フォルダーを任意の名前で呼ぶことができます。たとえば pythonlearn などです。 使い慣れたツールと手法を使用して、ハード ドライブ上の見つけやすい場所にフォルダーを作成します。

  2. この最上位のフォルダー内に、このモジュールで使用する演習ファイルのサブフォルダーを作成します。 新しい子フォルダーを任意の名前 (hello など) で呼ぶことができます。

    ヒント

    この後の Python のモジュールでは、新しいフォルダーを作成するように指示されたら、この手順で作成する親フォルダーの子として新しいサブフォルダーを作成してください。

手順 2 - Visual Studio Code を開く

慣れている手法を使用して、オペレーティング システムから Visual Studio Code を開きます。

  1. Visual Studio Code で作成したフォルダーを開き、[ファイル] > [フォルダーを開く] を選択します。

  2. [フォルダーを開く] ウィンドウで、作成したフォルダーを探して選択します。

    フォルダーの名前は、エクスプローラー ビューの左ペインに表示されます。

手順 3 - 新しいファイルを作成して保存する

ファイルを作成して保存するには、Visual Studio Code の UI を使用します。

  1. [ファイル] > [新しいファイル] を選択します。

    この操作により、エディター ペインに "無題-1" という名前の新しいタブが追加されます。

  2. [ファイル] > [名前を付けて保存] を選択し、ファイルに hello.py という名前を付けます。

手順 4 - ファイルにコードを追加する

新しい hello.py ファイルは空ですが、次にコードを追加します。

エディター ペインで次のコードを入力します。

print("Hello World!")

重要

ここに表示されているとおりに正確にコードを入力します。かっこと引用符を正しい順序で入力し、print という単語に小文字を使用します。 1 文字でも入力を誤ると、プログラムにエラーが発生し、動作しない可能性があります。

手順 5 - ファイルを保存してプログラムを実行する

  1. コードを入力したら、[ファイル] > [保存] を選択します。

    注意

    タブのファイル名の右側に白い点が表示されている場合は、ファイルを保存する必要があることを示しています。

  2. タブの右側にある緑色の矢印を選択してプログラムを実行します。

    矢印の上にカーソルを合わせると、"Run Python File in Terminal" (ターミナルで Python ファイルを実行する) というヒントが表示されます。 それにより、今いる場所が正しいことがわかります。

    Visual Studio Code のスクリーンショット。緑の矢印に囲みがありますが、これは "再生" ボタンであり、これを選択すると Python コードが実行されます。

    コードが実行されると、[ターミナル] ウィンドウに 2 つの行が表示されます。

    • 最初の行はコード ファイルをコンパイルし、実行するためのコマンドです。

      C:\python\hello>C:/Users/<user>/AppData/Local/Programs/Python/Python38-32/python.exe c:/python/hello/hello.py
      

      注意

      出力はお使いのオペレーティング システムによって異なります。 また、Windows からの場合、パスは同じになりません。 <user> を自分自身のユーザー名に置き換えてください。

    • [ターミナル] ウィンドウに出力されるもう 1 つの行はコード ウィンドウの下に表示されます。

      Hello World!
      

    成功です。

<a name="wait-i-got-an-error">待ってください、エラーが出ました

コードを実行しようとしてエラーが出ることがあります。 エラーはさまざまな理由から起こります。

たとえば、下のように、print に小文字の p ではなく大文字の P を使用したかもしれません。

Print(&quot;Hello World!")

大文字の P では、次のエラー メッセージが出力されます。

Traceback (most recent call last):
  File "c:/python/hello/hello.py", line 1, in <module>
    Print("Hello World!")
NameError: name 'Print' is not defined

重要

前に説明したとおり、コードは正確に書くことが重要です。 Python では大文字と小文字が区別されます。つまり、printPrint は 2 つの異なるものです。 大文字 P が含まれる Print という関数はありません。

幸い、Visual Studio Code には、コードを実行する前にこのような間違いを検出するための機能があります。 Print の下に赤い波線が表示されるはずです。 単語の上にカーソルを合わせると、ヒントに "Undefined variable 'Print'" ('Print' という変数は定義されていません) と表示されます。 さらなる説明が必要なメッセージもありますが、この段階で少なくともコードに問題が潜んでいることが突き止められます。

Visual Studio Code のスクリーンショット。"Print" という単語の下に赤い波線が引かれています。大文字 P は不適切です。

重要

変更内容をファイルに保存しないと、赤い波線は表示されません。

構文エラー、文字順序の入れ替え

この同じ手法を利用し、コードに潜むその他の種類の問題を特定できます。 たとえば、閉じ括弧と閉じ引用符の順番など、特定の文字の順序が入れ替わったとします。

  1. エディター ペインで次のコードを入力して保存します。

    print("Hello World!)"
    
  2. コードを実行すると、次のエラー メッセージが表示されます。

      File "c:/python/hello/hello.py", line 2
    
                             ^
    SyntaxError: unexpected EOF while parsing
    

ここでも繰り返しになりますが、エラー メッセージにはまだそれほど意味がないかもしれません。 ファイルを保存すると、Visual Studio Code によって閉じ引用符の下に赤い波線が付けられます。これは少なくとも、エラーを自己診断するとき、役に立つ手がかりとなります。

このコードが動作しないのは、これが Python の構文規則に従っていないためです。 コードの構文は、人間の言語における文法に似ています。 このコードが Python の構文規則に違反する理由はこの後すぐに説明します。

構文エラー、かっこの位置に角かっこ

エラーの中には簡単に見つけて簡単に修正できるものがあります。 一方で、少し労力を要するエラーもあります。

  1. 次のように、かっこではなく角かっこを使用します。

    print["Hello World!"]
    

    ファイルを保存すると、print の下に赤い波線が表示されます。 今度は、赤い波線の上にカーソルを合わせると、追加情報を含む段落が表示されます。

    Visual Studio Code のスクリーンショット。メッセージ ボックスに print コマンドに関する参照情報とエラー メッセージが表示されています。

    この情報の意味については別のモジュールで説明しますが、この段階では少し進んだ内容になるため、今のところはスキップします。 ここで理解すべき重要なことは、コードに問題があるということです。

  2. プログラムを実行すると、次のエラー メッセージが出力されます。

    Traceback (most recent call last):
      File "c:/python/hello/hello.py", line 1, in <module>
        print["Hello World!"]
    TypeError: 'builtin_function_or_function' object is not subscriptable
    

    残念ながら、このエラー メッセージは問題を説明していないため、役に立ちません。関数を呼び出すには、角括弧を丸括弧に替える必要があります。

将来、このような状況になったとき、Python に関する自分の知識を頼りに目を光らせ、問題を見つける必要があります。

経験をとおして知識と観察眼の両方が得られます。 最初は困難に思えるかもしれませんが、練習することでこれに限らずさまざまな情報に精通します。

プログラムはどのように動作したか

print という名前の 関数 を呼び出しました。 関数には、ソフトウェア システムで 1 つの作業を遂行する目的で連動するコードが含まれます。 その機能を名前で呼び出せるように関数には名前が付けられます。 print 関数の唯一の仕事は情報を出力に送ることであり、その出力はコマンド ラインかターミナル ウィンドウで表示できます。

関数を呼び出すには、関数呼び出し演算子と呼ばれている一連の括弧を使用します。 この一連の括弧は、関数の実行を求めていることを Python のインタープリターに指示するものです。

独自の関数を作成する方法については後で学習します。 初めは Python の開発者が作成した関数を使用します。アプリケーションを書くことがずっと簡単になります。 また、サードパーティ製のライブラリを活用する方法を学習します。Python プログラムで利用できる機能が劇的に増えるため、数多くのタスクを実行できます。

一部の関数では、引数を渡すことができます。引数は、関数がそのタスクを完了するために利用できます。 この演習では、Hello World! というメッセージを含む "リテラル文字列" を print 関数に送りました。 引数は、関数呼び出し演算子の中で渡します。

リテラル文字列は、英数字を含むハードコーディングされた値です。 言い換えると、Hello、空白、W というふうに、厳密にこの文字列を出力します。 リテラル文字列は、一組の二重または一重引用符で定義します。

Python コンパイラではコードを評価するとき、構文エラーを確認し、コードを "バイトコード" と呼ばれている簡潔な構文に変換します。バイトコードは 0 と 1 だけで構成されます。 Python インタープリターでは、この構文の読み方が理解されており、その中の各指示が 1 行ごとに処理されます。

今回のシナリオには、コード行が 1 つしかありません。 行がもっとあるとすれば、上から下への順で処理されます。 その後、最後の行が実行されたら、プログラムが終了となり、オペレーティング システムに制御が返されます。

要点

この最初のユニットで学習した最重要項目をおさらいしましょう。

  • Python コードの記述は、精度の訓練です。 コードを入力するときは、正しい綴り、大文字と小文字の正しい使い分け、正しい記号を使用します。
  • print()出力用の関数。 コマンド ラインかターミナル インターフェイスで出力するテキスト情報を表示するには、print 関数を使用します。
  • リテラル文字列 は、プログラムで書いたとおりに厳密に使用するひと続きの文字です。 リテラル文字列は、一組の二重または一重引用符で定義します。
  • Visual Studio Code は、コードの作成と実行に役立ちます。 Visual Studio Code では、簡単にコード ファイルを作成し、作業を保存し、緑の矢印アイコンを選択してコードを実行できます。
  • コンパイラでエラーが示されます。 コードに無効な構文が含まれている場合、Python コンパイラによって実行が停止し、エラーが表示されます。 コンパイラから与えられた手がかりを利用し、エラーを修正し、もう一度試すことができます。
  • 視覚的な手掛かりは、問題の把握に役立ちます。 コード ファイルを保存すると、Visual Studio Code によってコードが分析され、手がかりが表示されます。その手がかりは、プログラムを実行してみる前に、隠れているエラーを見つける上で役立ちます。