1. Pythonをはじめよう

Pythonの特徴と基本を紹介します。 ただ紹介するだけではなく、簡単なプログラムを実装しつつ実践的に学んでいきます。

1.1. Pythonを楽しもう

Pythonインタープリタに入力し結果を確認したり、Pythonファイル(.pyファイル)を作り実行しながら、Pythonにふれてみます。

Pythonについてより詳しくは、後述の節で説明します。 つまり、ここで説明したことのすべてをいま理解しようとしなくても大丈夫です。

Pythonインタープリタ

ターミナル(WindowsではPowerShell)を立ち上げて python (macOS、Linuxの場合は python3)と入力し、Pythonインタープリタを対話モードで起動します(リスト 2.1)。

リスト 1.1 Pythonインタープリタの起動
 $ python
Python 3.12.6 (main, Jun  6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
 >>>

初めにPythonインタープリタの情報と、大なり記号3つ(>>>)が表示されます。

この(>>>)がPythonの対話モードでの入力をうながすプロンプトです。終了するには Ctrl-Dまたは quit() を入力します(WindowsではCtrl-Z+Enter)。

Pythonを電卓にする

電卓のようにPythonを使ってみましょう(リスト 2.2)。

リスト 1.2 四則演算と代入
>>> 2 + 2
4
>>> 3 - 8
-5
>>> 6 * 9
54
>>> 8 / 2
4.0
>>> 5 % 2
1
>>> width = 60
>>> height = 90
>>> width * height
5400

初めの4つは整数型(int)での四則演算(+-*/)と剰余(%)です。

次に等号(=)を使って値を代入しています。

width (幅)、 height (高さ)という変数を作成し、2つを掛け合わせて面積を求めています。

変数を作成 とは、データ(ここでは60など)にラベル(ここではwidthなど)を付けて、後で使用できるようにすることです。

文字列

数字だけを扱うなら卓上電卓で十分ですね。文字列型(str)を使ってみましょう。

リスト 2.3 のように、シングルクォート(')かダブルクォート(")の間に文字を入力することで、文字列を定義します。

リスト 1.3 文字列型
>>> 'Hello,world'
'Hello,world'
>>> "Monty Python's Flying Circus"
"Monty Python's Flying Circus"

文字列中にシングルクォートを含む場合はダブルクォートを使います ( 文字列型(str) で説明する文字のエスケープも使えます)。

文字列は順序を持つシーケンス型の1つです。

コラム: シーケンス型

シーケンス型は順序を持つ型で、Python標準では他にもリスト(list)型、タプル(tuple)型、レンジ(range)型などがあります。 シーケンス型は後ほど説明するインデックスによる取得もサポートしています。

シーケンス型の詳細はPythonの公式ドキュメントを参照してください。

リスト

リスト(list)は、複数のデータ型の入れ物として使えます(リスト 2.4)。

リスト 1.4 リスト
>>> ['Hello', 3]
['Hello', 3]

リストも文字列と同じで、順序を持つ繰り返し可能な型(シーケンス)の1つです。

複数のデータ型と組み合わせて使えるコレクションの1つでもあります。

コメント

# より右以降の文字列は「コメント」となり、プログラムとして実行されません。

リスト 1.5 コメントの書き方
>>> # ここはコメント文
>>> a = 1  # コードの右側にも書ける

関数

関数とはプログラムの中で処理をひとまとめにしたものです。 Pythonでは関数は、 def を使って以下のように書きます。 末尾にはコロン(:)が必要です。

def <関数名>(<引数の変数名>):

値を返すには、 return を使います。引数を2つ受け取り、合計値を返す関数は リスト 2.6 になります。

リスト 1.6 関数定義と呼び出し
>>> def add(a, b):
...     return a + b
...
>>> add(1, 3)
4

Python はブロック構造を インデント (通常は4つのスペース)で書きます。

C言語のように波括弧({ })で囲む必要はなく、インデント自体が文の構造となります。

add() 関数内の1行目のreturn文は関数の中身なので、インデントで字下げします。

関数を書き終わったときにも 改行を入力 してください(最後の入力が文として終了していない場合、プロンプトが3つのドット(...)になります)。

関数を呼び出すには関数名に括弧(( ))を付けて実行します。

リスト 2.6 のように引数がある場合は、括弧内に引数を渡します。1と3を足した値、4が返されています。

コラム: インデントの表示

このドキュメントをWebブラウザで見ている場合、 defreturn が同じレベルにあるように見える事があります。 実際には、 return の前に、スペース4つが挿入されて、ブロック構造を表しています。

組み込み関数

Pythonには標準でいくつか関数が提供されています。これを組み込み関数と呼びます。

たとえば、指定された小数点を丸めた値を作成する round() 関数は、 このように使います。

リスト 1.7 組み込み関数round
>>> round(10.4)
10

組み込み関数の一覧は、次のドキュメントを参照してください。

エラーが出たら

エラーはつきものです。どんなにPythonに慣れたとしても、エラーを避けることはできません。ですので、エラーとは仲良くなりましょう!

エラーの対処方法

  • エラーメッセージは下から読みましょう:長いエラーメッセージでも下までスクロールダウンして最後の行を読みましょう。一般的に一番下に何が起きたのかに関するヒントがあることが多いです。

  • 下の行から上へ読み進めると、どのようにしてエラーが発生したのかをトレースすることができます。

  • もしエラーメッセージを読んでもわからない場合は、最後の行をコピーしてGoolgeなどで検索してみましょう。Stackoverflowというサイトで直接検索しても良いでしょう。

  • 検索はなるべく英語で行いましょう。英語の方が日本語より共有されている情報量が多いので、解決策に辿り着きやすいです。Googleの言語設定を変えると、検索結果の表示順などが変わリます

  • エラーメッセージをAIに投げてみてください。原因や解決方法のヒントを教えてくます。