IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

ゼロから歩くPythonの道

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第8回 変数の役割と使い方についてまとめてみた。 (菱沼佑香) 2020年5月

吉政創成 アシスタントの菱沼です。
今回も「いちばんやさしいPython入門教室(大澤 文孝氏著) 」を片手に勉強していきます。

さて、前回はprint関数で遊びました。(ところで...前回の記事でリンクと画像が表示されておりませんでした。失礼しました。追加して頂きましたので、もしよろしければご確認いただけますと幸いです。)

今回からは「Chapter4 プログラムを構成する基本的な機能」の章に入ります。Lesson4-1では、Pythonのプログラムを構成する6大要素というタイトルで各項目の概要説明が入ります。今回から次回以降にわたって、それぞれの項目を一つずつ学んで行きたいと考えています。
※なお、テキストではprint関数の後、空白やインデント、コメントのつけ方の説明が入りますが、Lesson4の学習過程で確認したいと思います。

Pythonプログラムの制御に必要なことってなぁに?

さて、Pythonを使ってプログラミングをするにあたって、制御するための基本機能をテキストでは6つ挙げています。(各項目の詳細は各回で引用するとして、ここでは省略します。)

① 計算機能
② 変数(へんすう)
③ 繰り返し
④ 条件分岐
⑤ 関数
⑥ モジュール(外部機能)

①の計算機能については過去に学習済み(関数、インタラクティブモード、文字列の連結のあたり)なのでこの章では省略されています。解説は次の通りです。

-----引用-----
さまざまな計算機能です。「+」「-」「*」「/」などの記号を使った四則演算や、「+」を使った文字列の連結などが挙げられます。
----------------

これに関連する内容として、過去に次のような記事を公開してきました。(たぶん著者の方が考えていた流れからちょっと脱線している気がしないでもないですが、網羅しているはず。)

<①に関係するコラムのリンク>
第3回 IDLEを使って計算してみよう!
第4回 Python標準ライブラリのモジュール「calendar」で遊んでみよう!
第7回 print関数で遊んでみた。

そのため、この章では特に説明がされないようなので、過去の記事を別途振り返っておくことにし、今回は②の変数から始めようと考えております。

変数って何者だ。

さて、これまで学習してきた中で「変数」という言葉がテキスト内で明確に使われていたことはなかったと思います。とはいえ、Webでいろいろ調べているので、「変数」という言葉を幾度も目にしてきました。
そのため、その意味や使い方は察してはおりますが、きちんと学んでいこうと思います。さて、テキストでは「変数」について、こう説明されています。

-----引用-----
P80
計算結果をはじめ、ユーザーが入力した値やファイルからの読み取り、ネットワーク通信で取得したデータなど、ありとあらゆるデータを一時的に保存する仕組みです。

P82
変数は、プログラムを書く人が好きな名前を付けた「器」です。その器には、好きな値を格納することができ、あとで参照して利用できます。
(中略)
変数に値を格納する操作を「代入(だいにゅう)する」と表現し、「=」の記号を使います。
(中略)
変数は、最初に値を代入したときに作られます。最初に「変数名=値」と記述して変数を作る操作を「変数を定義して初期化する」と言います。
----------------

さてせっかくなので前回使った画像にご登場いただきます。こちらは前回の学習時に私が遊んだものです。

fig01

赤い枠で囲った部分が「変数」と、その「変数」に対して定義された「値」となります。
ここでは「a」という変数に「わたしは」が定義されているということになります。(文字列の時は「"」か「'」で囲うことをウッカリ忘れないように注意。)
この定義された内容をご覧いただくとわかる通り、文字列と数字、どちらでも設定ができます。また、変数名は長くてもいいようですので、個人の使いやすいように設定ができるようです。

-----引用-----
変数名は長い名称でもかまいません。実際、値の意味を分かりやすくするために、「name」(氏名などを格納)、「total」(統計などを格納)、「tel」や「telephone」(電話番号などを格納)といった変数名がよく使われています。
----------------

ちなみに画像の例では「i」まで設定しており、この中身が定義された変数同士を、関数(+)を使って結合すると、【結果】のようになります。値が設定されていない変数を呼び出すとエラー(name '変数名' is not defined)が表示されます。print関数を使わなければ、プログラムにした時に結果は表示されません。
なお、私はただ遊びたかったがために言葉を設定して、結合によって文章にしていますが、数字を設定すれば単純に計算をしてくれます。

変数に設定できるもの、できないもの

さて変数の設定で気を付けなくてはならないことは他にあるのでしょうか?調べてみたところ、次のような注意点があるようです。

<変数名で使える文字>
・アルファベット(大文字・小文字)
・アンダースコア( _ )
・数字

<変数名に使わないほうがいいもの>
組み込み関数
・アンダースコアで始める(例:_*、__*、__*__) 参考

<変数名として使えないもの>
・最初の文字を数字にする(例:1A、2b、3C)
・予約語(Pythonの文法上、特殊な意味を持つもの)
※バージョンによって異なるようなので、keywordモジュールでの確認を行いましょう。v3.8での対象の確認方法と使いたい文字列が対象に含まれているかを確認する方法は次の画像を参照。35件あります。

fig02

参考サイト:
keyword --- Python キーワードチェック|Python公式サイト
Pythonで識別子(変数名など)として有効・無効な名前、命名規則|note.nkmk.me
【Python入門】変数とは?わかりやすく解説してみた|CodeCampus

ところで、プログラムを作るとなるとだいぶ長くなって変数名と設定した値をうっかり忘れそうな気がするんですが、一覧として吐き出せるのでしょうか?過去に同様の質問をされている方はいましたが、残念ながら解決策を探してみても見つかりませんでした...。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes