【Python入門】変数の基本を徹底解説|初心者でもわかる使い方ガイド
目次
はじめに
プログラミングを学ぶ上で、変数は最も基本的かつ重要な概念の一つです。変数を理解せずにプログラミングを進めることは、文字を知らずに本を読もうとするようなものです。この記事では、Python初心者の方に向けて、変数とは何か、どのように使うのか、そして変数を使いこなすために知っておくべき重要なポイントを詳しく解説します。
変数とは何か?
変数とは、データを一時的に保管しておくための「箱」のようなものです。この箱には名前をつけることができ、その名前を使ってデータを出し入れすることができます。
日常生活で例えるなら、変数はラベルの貼られた収納ボックスのようなものです。例えば「名前」というラベルの貼られた箱に「太郎」という情報を入れておけば、後で「名前」という箱を見れば「太郎」という情報を取り出せます。プログラミングにおける変数も、まさにこのような役割を果たしています。
変数を使うことで、複雑な計算結果や入力されたデータ、処理の途中経過など、様々な情報をプログラム内で保持し、必要なときに呼び出すことができるようになります。
変数の基本的な使い方
Pythonで変数を作成することを「変数に値を代入する」と言います。変数への代入は非常にシンプルで、イコール記号(=)を使って行います。
name = "太郎"
age = 25
height = 175.5
上記の例では、nameという変数に「太郎」という文字列を、ageという変数に25という数値を、heightという変数に175.5という小数を代入しています。
このように変数を使うことで、プログラムの中で「太郎さんの情報」を管理できるようになります。一度変数に値を代入すれば、プログラムのどこからでもその変数名を使って値を参照できます。
変数の命名規則
変数には自由に名前をつけることができますが、Pythonでは変数名に関するいくつかのルールとベストプラクティスがあります。
必ず守らなければならないルール
変数名には文字、数字、アンダースコア(_)を使用できますが、数字から始めることはできません。また、Pythonの予約語(ifやfor、whileなど、Pythonがすでに特別な意味を持たせている単語)は変数名として使用できません。
変数名は大文字と小文字を区別します。つまり、NameとnameとNAMEは全て異なる変数として扱われます。
推奨される命名規則
Pythonのコミュニティでは、変数名には小文字を使用し、複数の単語を組み合わせる場合はアンダースコアで区切る「スネークケース」という記法が推奨されています。例えば、ユーザーの年齢を表す変数ならuser_age、合計金額ならtotal_priceといった具合です。
変数名は、その変数が何を表しているのかが一目でわかるような、意味のある名前をつけることが重要です。aやxのような一文字の変数名は、ループカウンタなど限定的な用途以外では避けるべきです。user_registration_dateのように、少し長くなっても内容が明確な名前の方が、後でコードを読み返したときに理解しやすくなります。
Pythonにおける変数の型
プログラミング言語には「型」という概念があります。型とは、データの種類を表すものです。数値なのか、文字列なのか、真偽値なのかといった区別です。
Pythonの大きな特徴の一つは、変数の型を明示的に宣言する必要がないことです。これを「動的型付け」と呼びます。Pythonは代入された値から自動的に型を判断してくれるため、初心者にとって非常に扱いやすい言語となっています。
主な変数の型
**整数型(int)**は、-3、0、42、1000のような整数を表します。計算結果や個数、順番など、小数点以下が不要な数値に使用します。
**浮動小数点型(float)**は、3.14、-0.5、175.8のような小数を含む数値を表します。身長や体重、価格など、より精密な数値が必要な場合に使用します。
**文字列型(str)**は、”こんにちは”、’Python’のような文字の並びを表します。名前やメッセージ、住所など、テキスト情報を扱う際に使用します。文字列はダブルクォーテーション(”)またはシングルクォーテーション(’)で囲みます。
**ブール型(bool)**は、TrueまたはFalseの二つの値しか持たない型です。条件判断の結果や、何かの状態がオンかオフかを表す際に使用します。
Pythonでは、変数の型を調べたい場合はtype()関数を使用できます。これにより、今扱っている変数がどの型なのかを確認できます。
変数の再代入
Pythonの変数は、一度値を代入した後でも、何度でも新しい値を代入し直すことができます。これを「再代入」と呼びます。
score = 80
score = 95
この例では、最初にscoreに80を代入していますが、次の行で95を再代入しています。この場合、scoreの値は95になり、以前の値80は上書きされて失われます。
再代入は非常に便利な機能で、プログラムの進行に応じて変数の値を更新していくことができます。例えば、ゲームのスコアを加算していく、ユーザー入力に応じて設定を変更する、計算結果を段階的に更新していくといった処理に使用されます。
興味深いことに、Pythonでは変数の型も後から変更できます。最初に数値を代入した変数に、後から文字列を代入することも可能です。ただし、これは混乱を招く可能性があるため、通常は同じ変数には同じ型の値を代入し続けることが推奨されます。
複数の変数を同時に扱う
Pythonでは、複数の変数に対して同時に値を代入することができます。この機能を「アンパック」または「多重代入」と呼びます。
x, y, z = 10, 20, 30
この一行で、xに10、yに20、zに30が同時に代入されます。これは、複数の関連する値を一度に初期化したい場合や、二つの変数の値を交換したい場合などに非常に便利です。
特に、二つの変数の値を交換する際、多くのプログラミング言語では一時的な変数が必要になりますが、Pythonではa, b = b, aという簡潔な書き方で交換できます。
また、複数の変数に同じ値を代入したい場合は、連鎖代入という方法も使えます。a = b = c = 0と書けば、三つの変数すべてに0が代入されます。
変数を使うメリット
変数を使うことで、プログラミングに多くの利点がもたらされます。
コードの可読性向上:数値や文字列を直接書くよりも、意味のある変数名を使うことで、そのコードが何をしているのかが理解しやすくなります。例えば、price * 0.1と書くよりも、tax_rate = 0.1としてprice * tax_rateと書いた方が、消費税を計算していることが明確になります。
値の再利用:同じ値を何度も使う場合、変数に一度代入しておけば、その変数名を使って何度でも参照できます。もし値を変更する必要が生じた場合も、変数への代入部分を一箇所変更するだけで済みます。
計算結果の保存:複雑な計算の結果を変数に保存しておくことで、その結果を後の処理で使用できます。また、計算の途中経過を変数に保存することで、デバッグ時に値を確認しやすくなります。
プログラムの柔軟性:変数を使うことで、プログラムの動作を簡単に変更できます。例えば、設定値を変数として定義しておけば、その変数の値を変更するだけでプログラム全体の動作を調整できます。
変数に関するよくある間違いと注意点
初期化忘れ
変数は、値を代入する前に使用することはできません。代入していない変数を参照しようとすると、エラーが発生します。変数を使う前には必ず初期値を設定する習慣をつけましょう。
予約語の使用
Pythonには特別な意味を持つ予約語があり、これらを変数名として使用することはできません。例えば、if、for、while、classなどは予約語です。これらを変数名として使おうとすると、構文エラーが発生します。
大文字小文字の混同
Pythonは大文字と小文字を厳密に区別します。userName、username、UserNameは全て別の変数です。統一性のない命名は混乱の元になるため、命名規則を守ることが重要です。
グローバル変数の過度な使用
プログラム全体からアクセスできる変数をグローバル変数と呼びますが、これを多用すると、どこで値が変更されたのかが追跡しにくくなり、バグの温床となります。変数は必要な範囲内でのみ使用することが推奨されます。
まとめ
変数はPythonプログラミングの基礎中の基礎です。変数を理解することで、データを効果的に管理し、可読性の高い保守しやすいコードを書くことができるようになります。
この記事で学んだ重要なポイントを振り返りましょう。変数はデータを保存する「箱」であり、意味のある名前をつけることで、コードの可読性が大幅に向上します。Pythonでは型を明示的に宣言する必要がなく、自動的に判断されます。変数は何度でも再代入でき、プログラムの進行に応じて値を更新できます。
変数の使い方をマスターすることは、プログラミングスキルを向上させる第一歩です。最初は簡単な変数の代入と参照から始めて、徐々に複雑な使い方に挑戦していきましょう。実際に手を動かしてコードを書くことで、変数の概念がより深く理解できるようになります。
プログラミングは実践が重要です。この記事で学んだ知識を活かして、ぜひ自分でコードを書いて試してみてください。変数を自在に扱えるようになれば、Pythonプログラミングの世界がぐっと広がります。
■「らくらくPython塾」が切り開く「呪文コーディング」とは?
■プロンプトだけでオリジナルアプリを開発・公開してみた!!
■初心者歓迎「AI駆動開発/生成AIエンジニアコース」はじめました!
テックジム東京本校で先行開始。
■テックジム東京本校
格安のプログラミングスクールといえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
対面型でより早くスキル獲得、月額2万円のプログラミングスクールです。
<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。
<オンライン無料>ゼロから始めるPython爆速講座


