Pythonの実行方法

Hello World

環境構築が終わったら、さっそくプログラムを書いて実行してみましょう。

Pythonはテキストファイルでスクリプトを記述し、実行する方法とは別に、対話モードというものがあります。

スクリプトを実行する

では、まずはスクリプトを作成して実行してみましょう。メモ帳やvimなどお好きなエディタを使用して、hello_python.pyというテキストファイルに以下の内容を書き込んで保存してください。pythonスクリプトの拡張子は.pyとなります。

print('Hello Python World')

その後、以下の通りコマンドラインで入力してみましょう。Windowsの方はコマンドプロンプトを、LinuxやMacをお使いの方はターミナルを起動し、スクリプトを書いたフォルダに移動して以下のコマンドを実行してください。(今後、プロンプトの記号は$で表現します。

$ python hello_python.py
Hello Python World

いかがでしょうか?Hello Python Worldという文字列が出力されましたでしょうか?printという関数で文字列を標準出力することができます。

C言語やJavaとは異なり、コンパイルをせずに実行することが可能です。

対話モードで実行する

今度は対話モードを使って実行してみましょう。今度はコマンドライン上でpythonと入力してみます。

$ python
Python 3.5.1 (default, Apr 24 2016, 23:33:22) 
[GCC 5.3.1 20160413] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

上記のように、">>>"で開始されるプロンプトが起動すると思います。

ここで、続けてprint関数を入力してエンターキーを押下すると、指定した文字列が出力されると思います。

>>> print('Hello Python World')
Hello Python World

Pythonはスクリプトを作成せずにプログラムを実行することが可能なのです。

コード補完

対話モードの便利な点として、コード補完の機能が挙げられます。試しに、priまで入力してTabキーを押下してみてください。"print("まで補完されたかと思います。

組込み関数以外に、自分で定義した識別子も補完されるため非常に便利です。

対話モードの終了

対話モードを終了する場合ですが、以下のようにquit()で終了することができます。

>>> quit()
$

さて、簡単に実行する場合は便利な対話形式ですが、当サイトでは読者がコピペしやすいようにスクリプトの形式を採用しています。(対話形式だと>>> が頭につくため。)ほとんどサンプルは対話形式でも実行可能です。

Pythonの基本

では、次にスクリプトでもう少し長いプログラムを作成してPythonの特徴を確認していきましょう。

def main():
    """ 
    ダブルクォート3つでdocstringとなります
    ここにmain関数の説明を記述します。
    """

    # 通常のコメントは#を使います。
    # 通常の文と同様にインデントを合わせる必要があります。
    print("hello world!")

    # passは、何もしない文です
    pass
    

if __name__ == "__main__":
    main() # もちろん、文の後に書くことができます

一つづつ見ていきましょう。

インデント

Pythonの特徴の一つにインデントが挙げられます。

処理のブロックごとにインデントをつけていきます。

C、C++、Java、C#、PHP、e.t.c.通常、プログラムのクラス、関数、制御文のまとまりのブロックは中括弧でくくるのが一般的ですが、Pythonではインデントでブロックを表します。

インデントにはタブ、スペースのどちらを利用しても実行することができますが、PEP8という規約上ではスペース4文字が推奨されています。

インデントを間違えると、誤った処理が実行されたり、実行そのものが失敗するので注意してください。

コメントとドックストリング

Pythonのコメントは#を使用します。 #以降の文字列は処理されません。ただし、他の文と同様、インデントを合わせる必要があるので注意が必要です。

もちろん、16行目のように文の後にコメントを打つことも可能です。

また、ダブルクォート3つでドックストリングというクラスや関数の仕様を記述するためのコメントがあります。

if __name__ == "__main__":

後々詳しく説明しますが、現時点では起動するスクリプトはこういう書き方をするものだ、ただのお作法の一つなんだ、と思ってください。気になる方は以下を参照してください。

モジュールの実行と__name__

2017年4月19日