コンテンツ

Python速習ガイド - ステップ1 基本的な文法とデータ型 (4) - 変数と代入

Info
  • 本講座は、Pythonプログラミングの基礎を手を動かしながら最速で身につけるための講座です。
  • 「スタイルガイド」では、Pythonできれいなコードを書くためのガイドライン(PEP8)で紹介されている内容を主に記載しています。
  • 各コードは実行して結果を確認することができます。
    ページの再読み込みで元の内容に戻りますので、自由にいじってみてください。

変数 はプログラミングにおける基本的な要素であり、データを一時的に保存しておくための「名前付きの箱」のようなものです。

  • 変数は値を格納するためのメモリ上の場所を指します
  • 変数に値を保存することを 代入 と呼びます
  • 代入は、イコール(=)の左に変数、右に値を書きます
スタイルガイド
  • 代入のイコール(=)の前後にはスペースを空けましょう。
📚練習問題

摂氏温度(℃)を華氏温度(°F)に変換するプログラムを作成してみましょう。

  1. 変数 celsius に 25 を代入
  2. 公式 (celsius * 9/5) + 32 を使って華氏温度に変換
  3. 結果を変数 fahrenheit に保存
  4. 両方の温度を「25℃は77.0°Fです」のように出力してください
    • まずは既に紹介した方法を使って表示してみてください

    • 次の書き方でも表示できるので試してみてください(1.4.4.で紹介します)

      print(f"{celsius}℃は{fahrenheit}°Fです")

変数名の付け方には以下のルールがあります。

  1. 文字(a-z, A-Z, …)、数字、アンダースコア(_)で構成できます
  2. 数字で始めることはできません
  3. 予約語(if, for, whileなど)は使えません
スタイルガイド
  • 変数名は小文字のみを使い、単語間はアンダースコア(_)で区切ることが推奨されています。
  • 変数名は役割がわかりやすい名前にしましょう
    • 短すぎる名前(i, jなど)は避けましょう
    • 特に、小文字のL(l)や大文字のO(O)や大文字のI(I)は視認性が悪いので使用しないようにしましょう
  • 日本語の変数名も使用可能ですが、推奨されていません
  • プログラム中で値が変化しない変数は 定数 と呼ばれます。
    定数の場合は、大文字のみを使い、単語間をアンダースコア(_)で区切る命名が推奨されています。
    • 実際のところ、Pythonには「変更できない定数」を宣言する機能はありません。
      大文字の変数名は「この値は変更すべきでない」という開発者間の約束事であり、
      技術的には通常の変数と同様に値を書き換えることができます。
  • 変数の値は書き換えることができます。
  • 変数の値は、別の型の値に書き換えることもできます。
  • 変数自身の値を使用して値を書き換えることも可能です。
    • 算数で登場するイコール(=)と同じと考えると混乱しますが、
      プログラム内でイコール(=)は「代入する」という操作を表しています。
      (後ほど扱いますが、「等しい」はイコール2個(==)で表します)
  • 以下のように省略して書くこともできます。
📚練習問題

税別5000円の商品が20%OFFで販売されている場合の税込価格を計算しましょう。

  1. 変数 total に商品の合計金額 5000 を代入
  2. 20%の割引を適用する
  3. 消費税 10% を追加する
  4. 最終的な支払い金額を「最終的な支払い金額は〇〇円です」と表示する

上記の練習問題のように変数の値を文字列の中に埋め込みたい場合があります。
Pythonでは f-string という機能を使うと簡単に実現できます。

  • f-stringは文字列の前にfをつけて書きます
  • 文字列内で変数を使う場合は{変数名}という形式で記述します
  • f-stringは変数だけでなく計算式の結果も含めることができます
  • float型の値を表示する際に、小数点以下の桁数を指定することもできます
  • 桁数を指定して0埋めすることもできます
  • 文字数を指定して右寄せ・左寄せ・中央寄せもできます
従来の文字列フォーマット方法

f-stringは Python 3.6 から導入された比較的新しい機能です。
以前は次のような方法が使われていました。

f-string はこれらの方法よりも読みやすく簡潔に書けるため、積極的に使うことをお勧めします。

📚練習問題

f-stringを使って自己紹介文を作成しましょう。

  1. 変数 name に自分の名前を代入(例: “山田太郎”)
  2. 変数 age に年齢を代入(例: 25)
  3. 変数 hobby に趣味を代入(例: “プログラミング”)
  4. 変数 height に身長をcmで代入(例: 175.5)
  5. 以下の情報をf-stringを使って1行で表示してください
    • 「私の名前は○○です。○○歳で、趣味は○○です。身長は○○cmです。」
    • 身長は小数点以下1桁まで表示してください

関連記事