Python(パイソン)はLinuxやMacに標準搭載され、世界でとても多くのユーザが使用しているプログラミング言語の1つです。
特徴としてはインデントにプログラム的な意味を持たせているため、無駄なかっこ書きなどが必要ない(というか書くことが禁止されている)ので結果的にプログラムの見た目がシンプルで見やすくなることが挙げられます。
Pythonについて扱う記事ではよく「誰が書いても同じように書けるプログラム言語」と紹介されることがありますが、それはこのようなプログラムの制約があるためです(個人的には最終的にけっこう違いは出るものだという感覚ですが、統一感があるのは間違いないです)。
また、これだけ世界的に普及している要因としては非常に便利なライブラリが豊富に存在していることが挙げられます。
この記事では基礎の基礎を扱うのであえてこのようなライブラリ群は特段紹介しませんが、しっかり学んでおけば「使えるタイミングは必ずある」ということだけ覚えておいて下さい。
タイトル通りこの記事ではPythonという言語を基礎から解説していきたいと思います。
数値計算をする
int型とfloat型
数値に関しては他のプログラミングと同じように整数を扱う「int型」と浮動小数点数を扱う「float型」型があります。
下記のように型名の宣言などはありませんので、数字を変数に入れた時点でその変数は「int型」か「float型」と認識されます。
「print」を使うことで変数の中身を標準出力に出すことができます。また「type」関数で変数の型を調べることができます。これらはデバッグ時などに有効ですので是非覚えておきましょう。
n = 20
print n
print type (n)
m = 10.5
print m
print type (m)
# result
20
<type 'int'>
10.5
<type 'float'>
四則演算
四則演算は「+」「-」「*」「/」という記号を使って足し算、引き算、掛け算、割り算を一通り実行することができます。
下記のプログラム例を見てもらえばすぐにわかると思います。
print 1 + 1
print 4 - 1
print 2 * 3
print 5 / 5
# result
2
3
6
1
演算の中にfloat型の値が登場した場合、基本的に結果もfloat型になります。型宣言がない言語ですので、こういう挙動は実装者がしっかり認識している必要があります。
print 1.0 + 2
print 9 / 3.0
print 29 / 3.0
# result
3.0
3.0
9.66666666667
発展的な演算
通常の四則演算よりも少し高度な演算も簡単に行うことができるのがpythonの強みです。
演算子として「//」を用いることでfloatによる計算時に発生する余りを無視した値を取得することができます。
上記で「/」で計算したときに発生した小数点以下の値が切り捨てられています。
print 29 // 3.0
# result
9.0
「%」演算子を用いることでfloatによる計算時に発生する余りのみを取得することができます。
先ほどの計算に今度は「%」を使ってみた例を下記に示します。「29 ÷ 3 = 9 あまり 2」なので2が出力されます。
print 29 % 3.0
# result
2.0
次に「**」演算子を紹介します。これは数値の冪乗を計算してくれるものです。
単純な計算もそうですが、「2の1000乗」といったちょっとどうかしてるような計算も即座に返してくれます。
print 2 ** 3
print 3 ** 8
print 2 ** 1000
# result
8
6561
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
文字列とリスト構造
これもまた他の数多のプログラミング言語と同様に文字列とリスト(要は配列)が存在します。
文字列を扱う
Pythonにおける文字列はシングルクォート「”」やダブルクォート「””」で囲まれた一節です。
下記に示すように、空白を置いて文字列を続けることで変数には連結された文字列を格納するということもできます。
str = 'test'
print str
str2 = 'test' '2.'
print str2
# result
test
test2.
文字列は次に説明するリストを扱うかのように文字列の各文字にアクセスすることもできます。
5文字の文字列があった場合、最初の文字のインデックスを0として、0~4の番号で各文字を参照します。
これらは参照はできても書き換えはできないのでその点だけ注意が必要です。
str = 'test3'
print str[0]
print str[1]
print str[2]
print str[3]
print str[4]
# result
t
e
s
t
3
リストを扱う
リスト構造は複数の値をまとめて扱う、プログラミング言語に必須のデータ構造です。
Pythonにおけるリストは「[]」を使って作成します。リストに格納するデータの型はint型、文字列型問わずなんでもいけます。Pythonにおいては型の指定もいりませんのでとても容易に使えて便利だと思います。
list = [1, 2, 3, 4, 5]
list2 = ['1', '2', '3', '4', '5']
print list
print list2
# result
[1, 2, 3, 4, 5]
['1', '2', '3', '4', '5']
これらは「[]」による位置を指定して任意の値に書き換えることができます。
しかし、インデックスの値を存在しない位置を指定するとエラーになるので注意しましょう。
list = [1, 2, 3, 4, 5]
print list
list[0] = 10
list[4] = 20
print list
# result
[1, 2, 3, 4, 5]
[10, 2, 3, 4, 20]
まとめ
この記事ではPythonの基礎の基礎から解説するため、Pythonにおける数値、文字列、リストに関して説明しました。
今回は基礎なので当然ですが、発展的な分野においても他の言語にできてPythonにできないということはなかなかありません。Pythonは学んでおいて損はありませんので是非基礎から理解してみてください。