LoginSignup
2

More than 5 years have passed since last update.

前回: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と名前を付けて保管庫(メモリ)に保存します。

代入する..png

次に、print(var)では、varが参照され、varと名前の付いたデータを探して、見つかればそのデータ。例では"text"を返します。
それがprint関数に渡されています。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3238333936332f30326563343766632d666161382d633936382d323666622d6565393662666561666637342e706e67.png

それで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の考え方、オブジェクト指向について触れます。

今回の変数は基本中の基本ですから、理解できなかったら躊躇せずコメント等で聞いてください。
私も答えますし、ほかの方も答えてくれるかもしれません。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2