前回:https://qiita.com/New_enpitsu_15/items/3e8993057bafc425df1b
次回:https://qiita.com/New_enpitsu_15/items/2647d3b929bf0e9e7113
目次:https://qiita.com/New_enpitsu_15/private/479c69897780cabd01f4
前回までに、文字と数字の区別について学んできました。
ですが、ちょっとまって。
文字としての数字と、数値としての数字を区別する必要があるのはわかったけど、
なんで、文字を使うときも引用符で囲わなきゃいけないんだ?
print("text")
#text
print(text)
#Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
#NameError: name 'text' is not defined
今回は、そんな疑問を解決します。
#変数って?
プログラミングにおける変数は、
C言語等では値を入れておく箱のようなもの。
Pythonでは、保存しておく値につけるネームタグみたいなものです。
今はこの二つの違いはさほど重要ではありませんが__後々片方の考え方にとらわれていると大変な目にあいます__から、言語によって違うと覚えておきましょう。
さて、Pythonにおける変数の動きの実例を交えて見てみましょう。
var = "text"
print(var)
#text
print関数にはvar
を渡したはずなのに、画面にはtext
と表示されましたね。
これはvar
が変数としての機能を果たしているからです。
まず、
var = "text"
で、"text"というデータにvarと名前を付けて保管庫(メモリ)に保存します。
次に、print(var)
では、var
が参照され、varと名前の付いたデータを探して、見つかればそのデータ。例では"text"を返します。
それがprint関数に渡されています。
それでtext
と表示されたんですね。
(printがよくわかんない!という人は画面に好きな文字を表示してみよう!を参照のこと)
#変数を使う
変数がどんなものかはわかりましたね。では、変数をどう使うかも学んでいきましょう。
変数は、必ず__代入、すなわち具体的なデータが入れられ__、その後に__参照する__ことで利用することができます。数学の変数とは違うところですね。
##代入(変数にタグをつけて保管庫に置く)
代入は=
を用いて、[変数名] = [値]
と記述します。
例の
var = "text"
は、varという変数に"text"という値を代入していますね。
###値
値の部分は、__数値でも文字列でも、はたまた変数でも__ほぼ全てのものを代入することができます。
###変数名
変数名は、
if
,for
,while
などの予約語(予約語一覧はこちら)と呼ばれるもの以外の、
先頭が数字でない演算子(+
,-
,*
,/
など)を含まない文字列を使用することができます。
.
,[]
,()
,{}
が含まれるものも使えないこともないですが、ややこしいので今は避けましょう。
以下は__エラーの__例です。
if = "test"
0a = "test"
mob-pig = "test"
##参照(保管庫から特定の名前がついたデータを探す)
参照する際は、そのまま変数名を記述します。
var = "text"
print(var)
#text
そういえば!文字列と文字列は+
で結合できるんでしたね。
文字列"text"
を代入した変数var
も、文字列と同じように使うことができます。
var = "text"
print("This is \"" + var + "\"")
#This is "text"
文字列を代入した変数は文字列と同じように扱われましたが、
数値では?もちろん数値のように扱うことができます。
var = 1
print(var + 5)
#6
これが変数の基本であり、プログラムの基本でもあります。
#覚えておくと便利
[変数名] = input()
とすることで、変数にユーザーからの入力を代入することができます。
#次回は
演算を行います。Pythonの考え方、オブジェクト指向について触れます。
今回の変数は基本中の基本ですから、理解できなかったら躊躇せずコメント等で聞いてください。
私も答えますし、ほかの方も答えてくれるかもしれません。