2018/11/04
2020/04/14
Python入門〜実行・変数・リスト型・辞書型〜
Pythonは初心者でも始めやすく、簡単に実行できるプログラミング言語です。
このページではPythonで書かれたプログラムの実行の仕方や変数について解説します。
for文、if文についてはこちら→Python入門〜for文、if文を使って条件処理をする〜
関数、ライブラリについてはこちら→Python入門〜関数とライブラリ〜
目次
Pythonの特徴
最初にPythonがどのような特徴をもつプログラミング言語であるかについて見てみましょう。
すぐにプログラムを書き始めたい方はこの部分は読み飛ばしてプログラムの実行方法から始めていただいて構いません。
Pythonはインタプリタ型のプログラミング言語の一種です。インタプリタ型とは機械が実行するコードと人間が書くコードが同じでコンパイラが不要な言語で、コンパイラ型言語に比べて演算が遅い代わりに簡潔で読みやすいコードを書くことができます。
またPythonはライブラリが豊富で、特に数値計算系のライブラリが充実しており、構文解析や機械学習、進化最適化といった自分で書くのが難しい処理もライブラリをインポートすることで簡単にコーディングすることができます。ライブラリに用意されている関数を使うことで処理を高速にすることも出来ます。
jupyter notebook
Pythonを書いて実行する方法の一つにjupyter notebookと
いうオープンソースのWebアプリケーションがあります。多くのPython使用者が利用しており
- 一般の文章とプログラムを分けて書くことが可能
- 圧倒的にインターフェースが使いやすい
- データの前処理からビジネスレポートまでこれ一つで作成可能
- ファイルの共有も簡単
といった特徴があります。
プログラムの実行方法
Pythonのプログラムを実行するにはjupyter notebookを使う、インタプリタを使う、ファイルを実行するなど様々な方法があります。以下にそれぞれの実行方法について解説しています。
お好みで実行方法を選ぶと良いでしょう。
jupyter notebookを起動する
ターミナル(anaconda prompt)を起動し、「jupiter notebook」というコマンドをたたくことで、ブラウザ上にnotebookが立ち上がります。
jupyter notebookが起動したら右上の「New」タブからPython3を選択して新規notebookを作成します。
jupyter notebookでプログラムを実行するには上の▶︎|Runマークをクリックするかconrolキーを押しながらEnterキーを押します。
ターミナルなどから実行する
Jupyter notebookを使わずにターミナルからPythonのインタプリタを実行したり、エディタなどでソースコードを書いてそれを実行することもできます。
Pythonのインタプリタを使う
Pythonのインタプリタを使うとプログラムを対話的に実行することができます。短いコードや簡単な動作確認をしたい際に便利です。一方、長いプログラムをその場で書いて実行するのには向いていないので長い処理をしたい場合にはファイルとして保存してそれを実行するか、インタプリタで読み込むようにすると良いでしょう。
Pythonのインタプリタの起動方法は簡単でターミナルやシェルなどからPython (python)と打つだけで起動することができます。
Python >>> (この部分にコードを書いていく)
ソースコードを保存して実行する
プログラムを実行する最も一般的な方法の一つです。
Pythonではファイルを.py拡張子で保存してそのファイル名をインタプリタに渡すことでプログラムを実行できます。
python ファイル名.py
プログラムの実行方法についておわかり頂けたでしょうか。それでは実際にコードを書いてみましょう。
簡単なプログラムを実行してみる
文字列を出力するプログラム
まず文字列を出力するプログラムを書いて見ましょう。
# Hello Zenjinrui print("Hello Zenjinrui")
Python3で文字列を出力するには上記のようにカッコの中にクオーテーションまたはダブルクォーテーションで主力したい文字列を囲んで記述します。出力は自動的に改行されます。
# Hello Zenjinrui print("Hello", "Zenjinrui")
カンマで区切ると出力はスペース区切りになります。
Pythonのシンプルな構造
PythonとJavaの”Hello Zenjirou”という文字列を出力するコードを比較してみましょう。
Javaはより複雑化し4行必要になりますがPythonは1行で書くことができます。
[Pythonの場合]
print("Hello Zenjinrui")
[Javaの場合]
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello Zenjinrui"); } }
このようにPythonはシンプルなコードで簡単に動作させることができます。
変数の扱い方
次にPythonでの変数の扱い方について説明します。
PythonではCやJavaと異なり代入によって変数を生成します。
C言語の場合は下のように変数名の前に型を書いて変数を宣言します。
int x = 5; str y = "Apple";
一方Pythonでは下のように変数の値を代入することによって自動的に変数の型が決まります。
x = 5 y = "Apple"
Pythonでの代表的な変数の型は以下のようになります
表: 代表的な変数の型型 | 例 |
---|---|
int型 | 1, 150, -43, 45 |
float型 | 2.43, -5.4, 0.5 |
str型(文字列型) | "", "Hello!", "50" |
リスト型 | [1, 2, 3, 4, 5], ["A", "B", "C"] |
辞書型 | {"数学": 84, "国語": 60} |
# int型 x = 3 # float型 y = 4.5 # 文字列型 z = "hello"
また、簡単な表記で変数の演算を行うことができます。変数の演算は以下のようにprintなどの関数内でも行うことができます。
# 出力結果:7.5 print(x + y) # -1.5 print(x - y) # 13.5 print(x * y) # 0.6666666666666666 print(x / y) # 1 print(10 % 3) # HelloWorld print("Hello" + "World") #helloWorld print(z + "World")
リスト型・辞書型
Pythonにはリスト型と辞書型という変数を入れておくためのデータ型があります。辞書型とリスト型は使用頻度も高く便利なので覚えておくと良いでしょう。
リスト型
リスト型は要素を複数格納することができるデータ型です。
[]の中に要素を[要素1, 要素2, 要素3,…., 要素n]と表記することで作成することができ変数名[要素番号]で取り出すことができます。Pythonのリストは構成する各要素の型が違っていても成り立ちます。また、要素を入れずに空のリストを作っておくこともでき、その場合は[]と表記します。
listA = [1, 2, 3, 4, "hello", "apple"] print(listA) # 全要素のプリント print(listA[2]) # 2つ目の要素を出力 print(listA[4]) # 4つ目の要素を出力
例えば上のlistAの中身は下図のようになっています。
また、リスト型にはいくつかのメソッドがあります。
変数名.append(要素)でそのリストに要素を追加することができます。
appendでは新しい要素は末尾に追加されます。
#リストに新しい要素を追加 listA.append("banana") listA.append(1000)
変数名.extend(リスト)ではリストを追加することができます。
listA.extend([2, 3, 4])
辞書型
辞書型は1組の値(keyとvalue)を複数格納することができるデータ型です。辞書型を作成するルールとして同じ辞書内に同じKeyは使えない、順序は考慮されないというものがあります。
例えば下の表のようなデータを格納する辞書型を作るコードは次のようになります。
key | value |
---|---|
数学 | 85 |
国語 | 60 |
# 辞書型 scores = {"数学": 85, "国語": 60} # 出力結果: {'数学': 85, '国語': 60} print(scores) # キー指定で値を取り出す # 85 print(scores["数学"]) # 60 print(scores["国語"])
指定のキーの値を取り出すには変数名[Key]とします。
また、変数名[Key] = 値 で新しい項目を作成することができます。
scores["理科"] = 50 # {'数学': 85, '国語': 60, '理科': 50} print(scores)
辞書型、リスト型の中に辞書型を作る
辞書型やリスト型は入れ子構造にすることが可能です。
次のコードは辞書の中にもう一つ辞書を作っています。
info = {"taro":{"数学": 85, "国語": 64}, "hanako": {"数学": 69, "国語": 90}} #  {"taro":{"数学": 85, "国語": 64}, "hanako": {"数学": 69, "国語": 90}} print(info) # taroさんのデータを取りだす: {"数学": 85, "国語": 64} print(info["taro"]) # taroさんの国語の点数を取り出す: 64 print(info["taro"]["国語"])
また、次のコードはリスト型の中に辞書型を作っています。
info2 = [{"数学: 84, "国語": 64}, {"数学": 69, "国語": 90}] # 1人目のデータ: {"数学: 84, "国語": 64} print(info2[0]) # 1人目の国語の点数: 64 print(info2[0]["国語"])
このように、あるデータ型の中に異なるデータ型を入れることが可能です。
最後にこのページで解説したPythonの変数やデータ型についての復習として演習問題をやってみましょう。(答えはページの下にあります)
演習問題
info ={"taro": {"数学": 85, "国語": 64}, "hanako": {"数学": 64, "国語": 90}}
上のように辞書型になっているtaroさんとhanakoさんの点数データに対して次の値を計算して出力してみましょう。
1. taroさんの数学と国語の合計点
2. 二人の数学の平均点
3. 二人の国語の平均点
ただし、具体的な値を用いたプログラムではなく、辞書へアクセスして値を取り出してみましょう。そうすることで、得点が変わっても同じプログラムで計算が可能になります。
まとめ
Pythonの基本中の基本については以上になります。実行方法や変数の扱いをマスターして頂けたでしょうか?演習問題の答えを下に用意してあるので参考にしてみてください。
for文、if文について知りたい方はこちら→Python入門〜for文、if文を使って条件処理をする〜
関数、ライブラリについて知りたい方はこちら→Python入門〜関数とライブラリ〜
演習問題の答え(一例)
1. taroさんの数学と国語の合計点
print(info["taro"]["数学"] + info["taro"]["国語"])
2. 二人の数学の平均点
print((info["taro"]["数学"] + info ["hanako"]["数学"]) / 2)
3. 二人の国語の平均点
print((info["taro"]["国語"] + info ["hanako"]["国語"]) / 2)
Recommended