Python入門(1) IDLEを使う
Python IDLE

pythonプログラムを書いたり実行するには、Python用の統合開発環境(IDLEと略記:Integrated DeveLopment Environment)が便利だ。 pythonプログラムのstep by stepの実行あるいは一括実行をしたり(これがどのような意味かはプログラミングするとわかってくる)、プログラムを書いて保存するエディタ機能も備えている。 また、python言語キーワードのハイライトやキーワード自動補完さらにはプログラム書式を自動インデントする機能もそなえている。
IDLEの起動には、IDLEアプリケーション--WindowsではIDLE Python GUI)--をクリックするか、MacOSやLinuxなどではコマンドラインから(小文字で)idleを入力する。
$ idle &

左図は、IDLEを起動してまず表示されるpython shellのウィンドウ(背面ウィンドウ)と[ファイル]メニューから開いた(書いた)pythonプログラム(前面ウィンドウ)の様子である。
Python IDLEはクロスプラットホームで使える。 つまり、Windows、MacOS、Linuxなどで同じ環境のもとにpythonプログラムを開発することが可能だ。 python IDLEのインストール(このリンクはPython3のインストール)はたいへん簡単である(MacOSにはコマンド版python2がインストールされているので、それを使って全く差し支えない)。
Python IDLEの設定

基本的には、Python IDLEはそのままで利用できるが、エディタとしてPythonスクリプトを書いて保存する場合の文字列の符号化をせってしておこう。
左図のように、Preference(設定)の一般タブ(general)で、デフォルト符号化をUFT-8としておこう。 UTF-8にしておくと、何かと都合がよい。
Python Shell
Python IDLEを起動して現れるWindows画面で、Pythonの世界に入る扉である。 または、MacOSやLinuxではコマンドラインでpythonと入力してもよい。
$ python
Python shellを起動すると、基づいているPython情報が表示されて、プロンプト >>> が現れる。 次の例は、MacOSで起動したPython shellの様子である。
$ python Python 2.7.10 (default, Aug 28 2015, 07:26:38) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
プロンプト >>> につづいてPython文法に合致した文字列(スクリプト)を一行づつ入力して、Enterキーを押して実行結果を確認していこう。
文字列を出力する
print を使って文字列を引用符 " または ' で挟んで出力する。 以下の使い方に注意しよう。
>>> print('Hello, world') Hello, world >>> print("Hello, world") Hello, world
Python2ではprintは print文であり、括弧 ( ) は必須ではなかった。 しかし、Python3では print は関数となって ( ) が必須である。 以降では(出来る限り) printでは ( ) を用いる。
print(関数 print)では、出力する文字列の末尾で自動的に改行される。
SyntaxError
Python文法から逸脱したスクリプトを実行すると構文エラーとなる。
>>> print("Are you OK?') SyntaxError: EOL while scanning string literal
pythonスクリプトをファイルに書く
上のようにして、Python shellのプロンプト >>> にpythonスクリプトを一行ずつ逐次入力して、その結果を確かめるやり方は いかにもまどろっこしい。 事実、Python shellはプログラム実行結果を表示する(出力する)ために用いられるのであるが、Pythonスクリプトはファイルに書き出して、これを実行するようにしてプログラミングするのが一般的である。

Python IDLEを使って新しくpythonスクリプトを書くには、左図のように、[ファイル]メニューから[New File]を選んでpythonファイルとして保存する(Untitledのままではpythonスクリプトを実行できない)。 既に保存してあるスクリプトを編集するには[Open...]を選択する。
Pythonファイルであるためには
- 拡張子 .py を付ける。
- ファイル名には、空白文字を含ませない。
- ファイル名には日本語文字列なども使わない
I'm studing a programming language. It's fun to be with Python.
pythonスクリプトを実行する
Python IDLEから実行

保存したPythonスクリプト(あるいはIDLEメニューの[File]/[Open...]から目的のpythonファイルを開く)を実行するには、 右図のようにPython IDLEの[Run]/Run Moduleを選択する。
上図では、pythonスクリプト exsample.py を次のように書いてみた。
print('Hello, world') print("I'm using Python")
[Run]/Run Moduleで実行すると、Python Shellに次のような実行結果が表示される。
>>> ================================ RESTART ================================ >>> Hello, world I'm using Python
コマンドラインから実行
MacOSやLinuxなどでは、ターミナルウィンドウからコマンド python を使ってpythonスクリプトを渡して実行することができる。
$ python exsample.py
Windowsでコマンド python を実行するためには、実行ファイル python.exe にpathを通しておく必要がある。
変数を使う
プログラム言語における変数(variable)は値(value)を格納しておく容器(値=飲み物を入れるカップだと思って間違いない)である。 その容器に名前を付けることができ、変数名(variable name)という。 プログラム内では変数によって参照--その中身を取り出したり、同じ変数名である変数の中身を入れ替えたりすることができる。
変数という容器に値を格納する(値を割り当てる)行為を割当または代入(assign)という(代入より、割当という言葉を使うのは良い習慣だ)。 変数に使うことができる文字は、pythonの場合には、おおむね半角英数字とアンダースコア(_)であると思っておこう。 次には変数 boy に値 "Bob" を girl に値 "Alice" を割当て、それらを出力するには次のように書く。
boy = "Bob" print(boy)
値は文字列でなく、数字でもよい。
age = 19 height = 175.5 print(age, height)
printでは、変数をカンマ(,)で区切って変数値を並べて表示できるが、この結果はPython2(括弧 ( ) は任意)とPython3(括弧お ( )は必須)とでは次のように異なる。
(19 175.5)
19 175.5
name: 'Tokyo Hanako' height: 168.5 birth: 'Fukuoka'とするような配慮が必要だ。
Python2とPython3との差異
Python2とPython3との違いは文字列変数の場合に際立っている。
boy = "Bob" girl = "Alice" age = 19 height = 175.5 # Python2で以前から採用されてきた書き方 print boy, girl print age, height # Python3で要求される書き方 print(boy, girl) print(age, height)
このスクリプトをPython2で実行すると次のようになる。
Bob Alice 19 175.5 ('Bob', 'Alice') (19, 175.5)
このスクリプトをPython3で実行しようとすると、printで括弧 ( ) を使っていない7行目でSyntaxErrorになる。
File "example.py", line 7 print boy, girl ^ SyntaxError: invalid syntax
Python3で実行させるためには print には必ず ( ) を付けて次のように書く必要がある。
boy = "Bob" girl = "Alice" age = 19 height = 175.5 # Python3で要求される書き方 print(boy, girl) print(age, height)
その実行結果は以下のようになる。
Bob Alice 19 175.5
Python3の出力を得るには、Python2では括弧 ( ) を敢えて「使わない」ようにしなければならない。 言い換えると、Pthon3でも通用するように print をPython2で書くと
- 括弧 ( ) が両端に付与される
- 文字列は1重引用符 (') または2重引用符 (") で挟まれる
name: Tokyo Hanako height: 168.5 birth: Fukuoka
スクリプトはShebangとマジックコメントで始める
Pythonはクロスプラットホームな言語で、基本的なスクリプトであれば大抵のOSで動く。 Windowsで書いたPythonスクリプトは、いつの時かMacOS/Linuxで、あるいはRaspberry Piで動かすかもしれない。 このため、pythonスクリプトの先頭を次の2行で初めることを強く薦めたい。
#!/usr/bin/env python # -*- coding: utf-8 -*- これ以降に、スクリプトやコメントを書く
1行目がshebang(シェバン)で、UNIX系OSスクリプトで起動するインタプリタを指定するために、#!から始まる1行目を書く。 Pythonスクリプトに実行権限がついている場合、コマンドラインからスクリプトを直接実行することができる。 WindowsではShebang行は無視されるので、上の「コマンドラインから実行」のようにインタプリター python を起動してスクリプトを渡す必要がある。
$ ./exsample.py
2行目がマジックコメントで、スクリプトが実行される際にpythonインタプリタは、そのスクリプト内に記載されている文字が指定された文字符号化であることを期待し、正しく処理できる。 今の場合、pythonスクリプトをUTF-8で書くという約束のために utf-8 がある。 この対応関係が破られると、スクリプト実行時にエラーが発生する。 これを shift_jis にするのであれば、スクリプトをShift_JISで保存しておかねばならない。
スクリプトにはコメントを付ける
# まずは挨拶 print('Hello, world') # 今の情況を報告 print("I'm using Python")
記号 # 以降から行末まではPythonからは見えない。 上記のように書いても、実行結果にはなんの影響もない。
# を使って、それ以降にコメントを付けるはプログラムの可読性を高める。 適切なコメントを付けることは、良きプログラマーのための第一歩である。