Pythonであつかうものは、
数字、文字などさまざまです。 これらは変数に入れて扱うことができます。
anacondaをインストールした状態で、
ターミナルまたはコマンドプロンプトでipythonと入力し、スタートします。
programming@programmingnoMacBook-Air ~ % ipython
Python 3.7.6 (default, Jan 8 2020, 13:42:34)
Type ‘copyright’, ‘credits’ or ‘license’ for more information
IPython 7.12.0 — An enhanced Interactive Python. Type ‘?’ for help.
In [1]:
変数に数字や文字を入れる
aという記号に123という数字を入れます。
In [1]: a = 123
aと入力すると さきほどいれた123が出力されます。
In [3]: a
Out[3]: 123
bには文字xyzを入れます。
文字は’ ‘でくくります。
In [4]: b = ‘xyz’
bと入力すると、さきほどいれたxyzが出力されます。
このように、数字や文字をいれた、このaやbを
「変数」
と呼びます。
In [5]: b
Out[5]: ‘xyz’
ためしに、入力していない記号、適当にcなどと指定して呼び出してみます。
In [6]: c
—————————————————————————
NameError Traceback (most recent call last)
in
—-> 1 c
NameError: name ‘c’ is not defined
「そんな変数ないよ。」
と帰ってきます。
変数の型
このaに入れた数字と、bに入れた文字は違う型になります。
型というのは、「整数」「文字」のように入っているものの性質を示す言葉です。
type(変数) で変数の型がわかります。
In [7]: type(a)
Out[7]: int #整数型
In [8]: type(b)
Out[8]: str #文字列型
intは整数型
strは文字列型
を表します。
これらの型によってできることが違います。
例えば、
cに456という数字をいれると
In [9]: c = 456
In [10]: type(c)
Out[10]: int
こちらも整数型になります。
整数型どうしは計算ができます
In [11]: c – a
Out[11]: 333
In [12]: a + c
Out[12]: 579
型の違うa(整数型)とb(文字列型)を足すとエラーになります。
In [14]: a + b
—————————————————————————
TypeError Traceback (most recent call last)
in
—-> 1 a + b
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
「int(整数型)」と「str(文字列)」は足せないよ
と言われてしまいます。
注意 数字でも’ ‘で囲むと文字列型になる
注意すべきは、見た目が数字でも’ ‘で囲むと文字列型strとなり、
文字列型としての性質を持ちます。
dに’123’を入れます。
In [15]: d = ‘123’
In [16]: d
Out[16]: ‘123’
In [17]: type(d)
Out[17]: str
ここで文字列どうしには足し算 「 + 」が使用できます。
In [18]: b + d
Out[18]: ‘xyz123’
一方で、整数123と文字列’123’の足し算はエラーとなります。
In [19]: a + d
—————————————————————————
TypeError Traceback (most recent call last)
in
—-> 1 a + d
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
補足 使えない変数名
このページでは変数をa, b, c, dとして使用しましたが、ルールで使用できる変数の名前が決まっています。
- a-z, A-Zのアルファベット, 0-9の数字, 漢字やひらがな
- 数字で始まる名前は使えない
- _以外の記号は使えない、スペースも使えない
- 予約語(もともと使用用途が決まっている単語)は使えない
これらを踏まえて私は
- _は使えるが最初の文字には使わない
- よく使用する関数名・モジュール名は使用しない
- 関数内では大文字は使わない
としています。
要は
変数はアルファベットで始まるわかりやすい英単語(スペースなし)
というわけです。
身長なら height1, height2とか height_1, height_2
体重なら weight1, weight2や、weight_1, weight_2
といった具合ですね。
Pythonの予約語について
予約語というのはpythonであらかじめ使用が決められている単語です。
for, ifなどです。
pythonのインタープリタで
import keyword
print(keyword.kwlist)
で出力できます。
import keyword
print(keyword.kwlist)
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
これらの言葉を変数に指定するとエラーになります。
In [11]: for = 3
File “”, line 1
for = 3
^
SyntaxError: invalid syntax
「文法的におかしいよ」
と返ってきます。
In [15]: alpha = 1
In [16]: omega = 2
In [17]: lambda = 3
File “”, line 1
lambda = 3
^
SyntaxError: invalid syntax
こんな感じです。
- 変数には数字や文字、いろいろなものが入る
- 変数には型があり、type(変数)で確認できる
- 型によってできる事が決まっている