PyLearn 01: 変数、文字、演算、表示

プログラミングの基礎である変数、文字、演算、表示などについて解説します。

以下のコードは、aに1を代入、bに2、cに3を代入するコードです。また、print関数により、変数の中身を見ることができます。a, b, cは数字を入れる変数として機能しています。

In [1]:
a=1
b, c = 2, 3
print(a)
print(b)
print(c)
1
2
3

print関数に変数ではなく文字を入れるには、シングルクォーテーションかダブルクォーテーションで囲います。カンマで文字同士をくっつけることができます。 1-3時限目は文字を直接print関数に代入しているパターン、4時限目は一度変数stringに文字を代入してから、それを表示しているパターンです。stringは変数ですから、ダブルクォーテーションやシングルクォーテーションで囲う必要がありません。

In [2]:
print("1時限目は数学です。")
print('2時限目も数学です。')
print("3時限目も","数学です。")
string="4時間目も数学です。"
print(string)
1時限目は数学です。
2時限目も数学です。
3時限目も 数学です。
4時間目も数学です。

変数を入れることもできます。変数はシングル、ダブルクォーテーション不要です。8時限目はこれまでの応用です。

In [3]:
e=5
print(e,"時限目も数学です。")
print(e+1,'時限目も数学です。')
print(e+b,"時限目も数学です。")
s01, s02, s03 = 8, "時限目も", "数学です。"
print(s01, s02, s03)
5 時限目も数学です。
6 時限目も数学です。
7 時限目も数学です。
8 時限目も 数学です。

次に、四則演算を行ってみます。

In [4]:
a, b = 10, 25
res01 = a + b
res02 = a - b
res03 = a * b
res04 = a / b
print(a, "たす", b, "は", res01, "です。")
print(a, "ひく", b, "は", res02, "です。")
print(a, "かける", b, "は", res03, "です。")
print(a, "わる", b, "は", res04, "です。")
10 たす 25 は 35 です。
10 ひく 25 は -15 です。
10 かける 25 は 250 です。
10 わる 25 は 0.4 です。

プログラミングには、剰余という演算もあります。これは、指定した2つの数字を割り算した時のあまりが返ってきます。

In [5]:
a, b = 10, 3
res05 = a % b
print(a, "わる", b, "のあまりは", res05, "です。")
10 わる 3 のあまりは 1 です。

文字も足すことができます。掛け算などはできません。

In [6]:
s01 = "9時限目は"
s02 = "数学です。"
s03 = s01 + s02
print(s03)
9時限目は数学です。

len関数を用いると、変数の長さを測ることができます。

In [7]:
Lecture="数数数数数数数数"
NumLec=len(Lecture)
print("今日の授業は", Lecture, "でした。", "数学が", NumLec, "時間もありました。")
今日の授業は 数数数数数数数数 でした。 数学が 8 時間もありました。

長いプログラムをちょっとずつ開発しているとき、変数の中身に数字が残ってしまい、よくわからないエラーが出るときがあります。こういった場合、変数の中身を初期化することが必要です。このためには、resetを使います。当然ですが、一度変数の中身を初期化してしまうと、元には戻せません。長い時間をかけて得られた変数を誤って消してしまうと時間の無駄になってしまいます。そういうわけで、pythonは親切に「本当に消すのか?」と聞いてきます。消す場合はyを、消さない場合はnを入れてください。

In [8]:
reset
Once deleted, variables cannot be recovered. Proceed (y/[n])? y

これまでの変数が初期化されました。したがって、前に定義し、使用した変数は消え去ります。使うと以下のようにエラーが出ます。

In [9]:
print(a)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-9-bca0e2660b9f> in <module>
----> 1 print(a)

NameError: name 'a' is not defined