【ぱいそん】はじめました。忘備録②数値から変数まで【Python】
ひき続き、以下の動画を見ながら勉強中の忘備録。
数値を扱う
クォーテーションで囲まず、普通に半角で数字を書くと、数値として扱うことができます。
文字列→"1" 又は '1'
数値→1
数値を使えば、計算することができます。
足し算→print(4 + 2)
引き算→print(4 - 2)
掛け算→print(4 * 2)
割り算→print(4 / 2)
もちろん、
print(4 + 2 * 10)
のように組み合わせることもできます。
数値以外の演算子もいろいろあるので、参考になるサイトをリンクしてみました↓
変数
変数とは、値を入れておく箱のこと。
変数は、変数名 = 値 で定義する。
例えば、以下のように変数を作成して、
tmp = "Python入門" print(tmp)
出力するように設定すると、
Python入門
と出力されます。
tmpという段ボールの中に、Python入門という本が入っていて、次の行で、段ボールから、Python入門を取り出して見せてるイメージです。
変数についての補足
変数には、文字列だけでなく、数値も入れることができます。
〇→ tmp = 1
変数名には、クォーテーションはつけません
×→ "tmp" = 1
この場合、SyntaxError: cannot assign to literalというエラーが出ます。
変数名はなんでもOKです。
〇 → foo = 1
変数名として使える文字は、半角英数字とアンダーバーのみになります。
〇→foo_1 = 1
×→foo-1 = 1
この場合は、SyntaxError: cannot assign to operatorと言うエラーが出ます。
Python3からは以下ような半角英数字とアンダーバー以外も変数として設定できるようになっているようです。
〇→変数1 = 1
〇→ヘンスウ1 = 1
ただし、Python3以前の古いバージョンでは使えないこと、また、他のプログラミング言語を学ぶ時のことを考えると、半角英数字とアンダーバーのみにしておいた方が無難だと思います。
変数名の先頭に数字は、使えません。
×→ 1_foo = 1
この場合は、SyntaxError: invalid decimal literalのエラーが
×→1foo = 1
この場合は、SyntaxError: invalid syntaxのエラーが出ます。
また、プログラムは、上から順番に実行されるので、変数を定義する前に使おうとするとエラーが発生します。
print(tmp)
tmp = "Python入門"
この場合、NameError: name 'tmp' is not definedというエラーになります。
変数でできること
数値の計算
a = 1 b= 2 print(a+b)
この場合、3が出力されます。
文字の連結
a="Python" b="入門" print(a+b)
この場合、Python入門が出力されます。
変数の上書き
foo = "Python" foo = "Python入門" print(foo)
このコードを実行すると、Python入門が出力されます。
最初に変数fooには、Pythonという文字列が入っているのですが、2行目を実行することで、変数fooの値がPython入門に上書きされています。
そして三行目では、変数fooの値であるPython入門が出力されます。
数値も同様に上書きすることができます。
i = 1 i = i + 1 print(i)
この場合、一行目では、変数iに1が代入されています。
2行目では、一行目の変数iの値である1に1を足した値の2が変数iに上書きされます。
そして、3行目では、変数iの値である2が出力されます。
数値の計算である、i = i + 1と言うコードは、省略して、i+=1 と書くこともできます。
同様に i = i - 1 は、i -= 1と書くことができます。
変数は繰り返し使える
変数は値を取り出しても、再度使うことができます。
program = "Python" print(program + "入門") print(program + "講座")
このコードを実行すると、Python入門とPython講座と出力されます。
文字列に変数を埋め込む
i=1 x="Python" print(f"第{i}回{x}入門")
このように、クォーテーションの前にfをつけて、{変数}を使うと、文字列に埋め込むことができます。
上のコードを出力すると、第1回Python入門と出力されます。
これを、変数展開と言います。
この書き方は、新しいPythonでしかできません。
古いPythonだとエラーになりますので、注意が必要です。