python入門2(変数とは)

python入門変数について

変数とは

変数とは、値の出し入れができる箱のようなもので自由に名前を指定することができます。

この説明だけじゃざっくりしていてよくわかりませんよね、実際に変数を利用した例を見てみて順を追って理解していきましょう。

ちなみにpythonにおける変数は他のプログラム言語のように型の宣言は必要ありません。

また、当サイト(In-Output)では、どの部分が変数でどの部分が関数なのかわかりやすくするために変数名は「h」と記載します。

複数の変数を使用する場合は「h1」「h2」と記載しますが、変数名は一定のルールがありますが、ほぼ自由に付けることができます。

変数の使用例を見てみよう

前回、文字列と数値の出力をおこないましたので、今回は変数を使って同じような事をしてみましょう。

h = "こんにちは"
print(h)
こんにちは
上記の例では「こんにちは」という文字列が入っている箱に「h」と名前の付いたラベルを張り付けた箱を「print」で出力したとイメージしてください。
次は数値を使った変数を見てみましょう。
h = 5
print(h)
5
復習になりますが、数値はクォーテーションで囲みません。
変数同士で計算を行うこともできます。
h1 = 5
h2 = 10
print(h1 + h2)
15

※プログラミングにおける「=」は同じという意味ではありません。
「h1 = 5」と書かれていたら「h1」に「5」を代入するという風に覚えましょう

何故「=」は同じという意味で使えないのか?

下記のコードを用いて説明します。

h = 5
h = h + 10
print(h)

このコードの実行結果は「15」となります。

もし「=」が同じという意味なら上記の式は成立しません。

変数は上書きを行うことができますので、最終的に変数「h」は「15」となります。

何故変数を利用するのか?

変数を利用すると、プログラムを再利用しやすくなったり、修正や変更を用意に行うことができます。

例として、次のコードを見てみましょう。

print("田中さんおはようございます")
print("田中さんこんにちは")
print("田中さんこんばんは")
この挨拶を100人分コードを書く場合とても時間がかかります。
そこで、変数を使いコードを使いまわしましょう。
h = "田中"
print(h + "さんおはようございます")
print(h + "さんこんにちは")
print(h + "さんこんばんわ")
h = "中田"
print(h + "さんおはようございます")
print(h + "さんこんにちは")
print(h + "さんこんばんわ")
田中さんおはようございます
田中さんこんにちは
田中さんこんばんわ
中田さんおはようございます
中田さんこんにちは
中田さんこんばんわ
これで変数を値を変えるだけで同じコードが使いまわせます。
そして、変数に値を指定することを値を「代入」するといいますので、ここで覚えておきましょう。
そして、今後リスト型や辞書型等を使用していくときにも変数を使用していきます。

変数の名前のルール

変数は自由に名前を付けることができますが、いくつかのルールがあります。

このルールは変数だけに限らず、クラスや関数等に名前を付ける際も同様のルールとなりますので、覚えておきましょう。

これらの名前を付けられた変数や関数の事を識別子と呼びます。

識別子に使える文字

識別子はアルファベットの大文字、小文字、アンダースコア、半角数字が使用できます。

注意点として、数字は識別子の頭には使えません。
「h1」や「h2」のように名づけることは可能ですが「1h」「2h」等は付けれませんので覚えておきましょう。

アンダースコアを変数の頭に使うと挙動等が変わります。
これは関数等を使用する際に用いますので、今は頭の片隅でもいれておきましょう。

日本語を変数に使用する事も可能ですが、おすすめしません。

予約語は識別子につかえません

↓の表の単語はpythonの構文で使用されますので、識別子には用いる事ができません。

※注意点として、今この表をすべて覚える必要はありません。
それぞれの使い方を学びながら「~~」は構文に使うから識別子には使えないんだ。
と覚えていけばOKです。

False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass break
except in raise  

あまり使用しないほうが良い識別子

予約語は識別子に使えませんが、関数に使われる単語は識別子に使うことができます。

少し、複雑になってきましたね、関数については関数の項目で詳しく説明します。

これまで用いてきた「print()」実はこれもprint関数と呼ばれる関数なのです。

print = 5
print(print)

上記を実行しようとするとエラーが発生します。

これは関数名を識別子として使用した事が問題なわけではありません。

識別子として使用した関数名を関数として実行しようとしたのでエラーが発生したのです。

str = 5
print(str)

上のコードは問題なく「5」と実行されますが、「str()」という数値等を文字列として変換する関数を実行しようとするとエラーが発生します。

これはpythonが良くも悪くも関数だろうが変数だろうが単一のオブジェクトとして認識しているので発生する現象です。

これらの現象を発生させないよう、今後覚えていく関数名も識別子としては極力使わないようにしましょう。

変数の基礎問題

それでは変数の基礎問題です。出力の結果を予測しましょう。

エラーが発生する場合はエラーを予測してください。

問1:

h = 5 + 3
print(h)
答えを見る
A:8 (文字列ではなく数値を値としてますので計算されています)

問2:

h + 1 = 5
print(h + 1)
答えを見る
A:エラー(識別子に「+」は使えません)

問3:

h1 = "こんにちは"
h2 = "田中さん"
print(h1 + h2 + h1)
答えを見る
A:こんにちは田中さんこんにちは (変数は繰り返し使用できます)

問4:

h = ”こんにちは” + ”こんばんは”
print(h)
答えを見る
A:エラー (クォーテーションが全角文字です。引っかかった人は気をつけましょう)

問5:

h = "大好きです"
print(H)
答えを見る
A: エラー (pythonでは小文字と大文字は別文字で扱われます)

>プログラミング情報サイト「In-Output」

プログラミング情報サイト「In-Output」

当サイトではプログラミング言語の情報を発信しています。
HTMLやCSSのマークアップ言語の学習方法や解説、WordPressでのサイト開設方法、python等のプログラミング言語を使用して日頃の作業の効率化等、皆様のお役に立てるサイトを目指しています。

CTR IMG