コンテンツにスキップ

Python/基本事項

出典: フリー教科書『ウィキブックス(Wikibooks)』



開発環境の構築

[編集]

Pythonのインストールと基本的な利用

[編集]

Pythonは、Unix、GNU/Linuxのディストリビューション、およびmacOSでは通常最初からインストールされていますが、他のオペレーティングシステムでは初めて利用する際には手動でのインストールが必要です。

GNU/Linux環境

[編集]

GNU/Linuxデスクトップ環境では、コマンドターミナルを開き、以下のコマンドを実行することでPythonのインタープリタを起動できます。コマンド名はpythonの様にバージョンを含んでいないかもしれません。

$ python3
Python 3.12.2 (main, Feb  7 2024, 20:47:03) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

これにより、Pythonの対話モードが開始され、プロンプトが「>>>」に変わります。ここでPythonコードを実行したり、インタラクティブに作業することができます。終了するには、「exit()」と入力します。

>>> exit()

Windows環境でのPythonのプログラミング

[編集]
公式配布版Pythonインストーラの使用
  1. Python公式サイトから公式配布版Pythonインストーラをダウンロードします。
  2. ダウンロードしたインストーラを実行し、指示に従ってPythonをインストールします。
Microsoft Storeからの導入
  1. Microsoft Storeを開き、検索バーに「Python」と入力します。
  2. Pythonの公式アプリケーションを見つけ、インストールします。

これらの方法でPythonをWindowsに導入することができます。インストールが完了したら、コマンドプロンプトやPowerShellからPythonを実行できるようになります。Pythonのバージョンや依存関係などについては、公式ドキュメントを参照することができます。

Pythonの実行方法

[編集]

Pythonを実行する方法には、主に2つのアプローチがあります。

インタラクティブモードでの実行方法

[編集]

インタラクティブモード(REPL: Read-Eval-Print Loop)では、Pythonのコマンドを1行ずつ入力して実行することができます。以下は、インタラクティブモードでの実行手順です。

  1. ターミナルを開きます。
  2. Pythonのコマンド(pythonまたはpython3など、環境によって異なる可能性があります)を入力します。
  3. ">>>"プロンプトが表示され、Pythonのコマンドを1行ずつ入力して実行します。例えば、"print('Hello World')"と入力すると、"Hello World"と出力されます。
$ python3
Python 3.11.7 (main, Dec  8 2023, 14:22:46) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello world")
Hello world
>>> exit()
$ _


ソースファイルを作成して実行する方法

[編集]

ソースファイルを作成して実行する場合は、以下の手順を参考にしてください。

  1. テキストエディタを開きます。
  2. Pythonのプログラムを入力し、ファイル名を"*.py"で保存します(例:"hello.py")。
  3. ターミナルを開き、以下のコマンドを入力します(pythonの代わりにpython3を使用することもあります)。
    $ python ファイル名.py
    
  4. ソースファイルが実行されます。例えば、以下のようなPythonプログラムを"hello.py"というファイル名で保存し、実行する場合は以下のコマンドを入力します。
    hello.py
    # hello.py
    print("Hello World!")
    
    コマンドライン
    $ python hello.py
    Hello World!
    $ _
    

Pythonのソースファイルの拡張子は ".py" です。これらの手順を踏むことで、Pythonのプログラムを作成し、実行することができます。

ソースコードを書き換えてみる

[編集]

さきほどの「Hello World!」と表示するプログラムを実行した後、ソースコードを書き換えるとどうなるのでしょうか。

以下に具体的な手順を示します。

  1. まず、先程のプログラムを実行して「Hello World!」と表示されることを確認します。
  2. 次に、ソースコードのファイル「hello.py」をテキストエディタで開きます。
  3. ソースコードを以下のように書き換えます。
    print("12345Hello World")
    
  4. ソースコードを上書き保存します。
  5. コマンドターミナルで以下のコマンドを実行します。
    $ python3 hello.py
    12345Hello World
    $ _
    

つまり、ソースコードを書き換えてから再度実行すると、新しいソースコードが反映されてプログラムが実行されます。

Pythonはインタプリタ言語であるため、プログラムを実行するたびにソースコードを解釈し直す特性があります。これにより、柔軟かつ効果的にプログラムを開発・実行することが可能となります。

数値の計算

[編集]

Pythonでは、数値の四則演算が簡単に行えます。以下に、基本的な数値計算の例を示します。

>>> 2 + 3
5
>>> 6 + 7
13
>>> 30.6 + 7.1
37.7
>>> 5 - 4
1
>>> 23.88 - 7.5
16.38
>>> 2 - 15
-13
>>> 2 * 4
8
>>> 4 / 2
2.0
>>> 4 / 3
1.3333333333333333

インタラクティブ モードでは、コマンドターミナルでPythonを起動し、コマンドラインで1行ずつコードを入力することができます。数値の計算も同様に行えます。

また、整数と浮動小数点数を足したり引いたりする場合、Pythonは自動的に浮動小数点数に変換して計算します。例えば、「2 + 1.5」という計算では、整数の2が自動的に浮動小数点数の2.0に変換されて計算されます。

>>> 2 + 1.5
3.5

Pythonでは、割り算の商だけを求めたい場合、「//」演算子を使用します。これにより、小数点以下を切り捨てて整数部分の商を得ることができます。

>>> 10 // 3
3
>>> -10 // 3
-4

実数の割り算を行う場合は、「/」演算子を使用します。

>>> 10 / 3
3.3333333333333335

べき乗演算を行うための「**」演算子もあります。例えば、「2**3」という計算は2の3乗を表し、結果として「8」が得られます。

>>> 2**3
8

また、「2**-3」という計算は2の-3乗を表し、逆数の計算をして「0.125」が得られます。

>>> 2**3
8

さらに、「(-2)**0.5」という計算は-2の0.5乗を表し虚数項を含んだ複素数が得られます。

>>> (-2)**0.5
(8.659560562354934e-17+1.4142135623730951j)

この計算結果に見られる 8.659560562354934e-17 は、計算誤差によるものです。Pythonの浮動小数点数演算は、厳密な数値表現が難しいため、微小な誤差が生じることがあります。

ここでの e-17 は、10のマイナス17乗を表しています。つまり、非常に小さな値であることを示しています。この誤差は計算機が二進数で浮動小数点数を表現する都合上生じるもので、数学的な理想値と実際の計算結果が微妙に異なることがあります。

これは浮動小数点数の特性であり、計算機が十進法ではなく二進法で数値を表現するために生じるものです。通常、このような微小な誤差は考慮範囲内とされ、数値計算において許容される範囲です。


これらの演算子を活用することで、様々な数値計算をPythonで効率的に行うことができます。

3項以上の計算

[編集]

Pythonでは、3項以上の計算も可能です。複雑な計算式を書く場合は、演算の優先順位に注意が必要です。たとえば、「2 + 3 * 4」という式を計算する場合、「3 * 4」が先に計算されてから、「2 + 12」が計算されます。結果として、「14」という値が得られます。

>>> 2 + 3 * 4
14

演算子には、優先順位を決める規則がありますが、括弧を使用することで、明示的に優先順位を指定することもできます。例えば、「(2 + 3) * 4」では、括弧内が先に計算されてから全体が掛け算されます。

>>> (2 + 3) * 4
20

このように、括弧を使用することで計算の順序を明確にし、意図した結果を得ることができます。複雑な式や優先順位のわからない場合は、括弧を使用して計算順序を明示的に指定すると良いでしょう。

同じ優先度の演算子が連続して使用される場合、Pythonでは左結合(左から右に結合)が行われます。これは多くのプログラミング言語で採用されている結合方向の一つです。

例えば、次のような計算を考えます。

>>> 5 * 3 / 2
7.5

この場合、掛け算と割り算の演算子の優先度は同じですが、左結合のため、左から順に計算されます。具体的には、まず「5 * 3」が計算されてからその結果を「2」で割ります。結果として 7.5 が得られます。

同様に、次の例では加算と減算が同じ優先度の演算子ですが、左結合により左から順に計算されます。

>>> 10 - 5 + 3
8

具体的には、まず「10 - 5」が計算されてからその結果に「3」が加算されます。結果として 8 が得られます。

左結合は一般的な動作であり、数学的な式の記述と一致しているため、多くの場面で直感的に使える結合方向です。



脚註

[編集]