全2666文字
PR

プログラミング言語のPythonは広く使われるようになり、始めてみたい人も多いはずだ。しかし、Pythonには初心者がつまずきやすいポイントがいくつかある。そうしたポイントを、新人プログラマーAさんの具体的な悩みを解決する形で解説していこう。

(イラスト:森マサコ)
(イラスト:森マサコ)
[画像のクリックで拡大表示]
Pythonで複数の値をまとめるのは「リスト」でしょ。tupleって?

 ぼくは、最近仕事でPythonを使うことになった新人プログラマー。Pythonは初めて使うけど、会社の研修でJavaは少し学んだ。だから、プログラミング言語には「データ型」というものがあることは知っている。整数を扱うときと文字列を扱うときではデータ型が異なるんだったよね。

 複数の値をまとめて扱うのは「配列」というデータ型だ。Pythonの配列には「リスト」を使うってことは学んだ。

 Pythonのリストの値を書き換えるプログラムを作ってみたよ。図1がそのコードだ。

図1 Pythonのリストの値を書き換えるつもりのプログラム
図1 Pythonのリストの値を書き換えるつもりのプログラム
[画像のクリックで拡大表示]

 1行目では、「fruits」という名前のリストを作っている。リストfruitsの中に入っているのは「orange」「apple」「pear」「banana」という文字列だ。リストの添字は0から始まるから、先頭の「orange」は、「fruits[0]」という書き方で取り出せるんだよね。

 2行目では、「fruits[0](つまりorange)」を「apple」という文字列で書き換えている。

 3行目で、リストfruitsの中身をprint関数で表示している。

 このプログラムを実行すると、コマンドプロンプトには('apple','apple','pear','banana')と表示されるはず。それなのに、エラーになってしまった。エラーメッセージには「TypeError:'tuple' object does not support item assignment」と表示されているけど、「tuple」ってなんだ? どう読むんだろう?