プログラミング入門として、Pythonにおける『変数(へんすう)』の使い方を解説します。
変数は数値や文字列等のデータを入れておくもので、プログラミングを行う上で必須の知識となります。
プログラマの界隈では変数を使わないプログラムは『読みにくい』『使いにくい』とみなされてしまいます。
慣れてしまえばなんてことない知識なので、早めに身につけるようにしましょう。
この記事は20分程度で読めます。
環境について
今回の解説は、PCにPython3をインストールした環境で行います。
まだインストールしていない場合は、次の記事を参考にしてください。
また、Pythonの開発環境として、Visual Studio Code(VS Code)をおすすめしています。
簡単なプログラムの作成方法、実行方法も解説していますので、まずはこちらからご覧ください。
Windowsの場合
Ubuntu(Linux)の場合
UbuntuはあらかじめPythonがインストールされています。
Raspberry Pi OSの場合
Raspberry Pi OSはあらかじめPythonがインストールされています。
変数とは
変数はデータの入れ物のことです。
例えば『a』という名前の入れ物と、『b』という名前の入れ物を作っておき、
『a + b』という計算結果を表示するプログラムを作っておけば、
『a = 1』、『b = 2』としたときは結果『3』が出力され、
『a = 2』、『b = 3』としたときは結果『5』が出力されます。
プログラミング初心者で、数行のプログラムを扱っているうちは、この変数(データの入れ物)をわざわざ使うことは煩わしく感じるかもしれませんが、プログラムがある程度の規模になると変数を使わないプログラムは『読みにくい』『使いにくい』プログラムになってしまいます。
言葉で書いてもよくわからないので、実際に使ってみましょう。
変数の使い方
データの入れ物
まずは次のPythonプログラムを実行してみましょう。
このプログラムはすべて半角で入力するようにしてください。
data = 1
print(data)
実行結果に『 1 』と表示されたら成功です。
うまく表示されない場合は入力ミスがないかよく確認しましょう。
つづいて、『data = 1』の『 1 』を他の数値に変更して再度実行してみましょう。
変更した数値が表示されるはずです。
print()は、おそらくみなさんが最初に実行したプログラムで使った、文字列を表示する方法です。
今回は[data]の中に代入した数値がprint(data)で表示されています。
このデータを代入している[data]のようなものを変数と言います。
Pythonの変数は次のような書式で定義することができます。
変数名 = 変数に代入するデータ
今回の変数名は『data』です。
変数名は自由につけることができます。(ちょっとした命名ルールはありますが後述します。)
また、変数に代入できるデータは数値だけではありません。
次のように文字列を入力して実行してみましょう。
data = "おいしいおいも"
print(data)
変数に代入した文字列がprint()で表示されることがわかります。
変数同士の計算
変数に代入した数値はそのまま計算に使用することができます。
次のプログラムを実行してみましょう。
a = 1
b = 2
c = a + b
print(c)
実行結果に『 3 』と表示されたら成功です。
ここでは変数aと変数bにそれぞれ数値1、2を代入しています。
そして変数cには[a + b]の結果を代入しています。
[a + b]は代入している数値である[1 + 2]となりますので、結果、[ 3 ]が変数cに代入されます。
自分なりに数値を変えたり、他の計算方法で結果を表示して変数の使い方になれてみましょう。
変数を使う際の注意
文字列と数値を一緒に表示する場合
プログラミングをやっていると、文字列と数値を一緒に表示したい場面に遭遇することがあります。
たとえば前項のプログラムの変数の中身を、それぞれ変数名とともに表示したい場合は、次のように記述できます。
a = 1
b = 2
c = a + b
print("a: " + str(a))
print("b: " + str(b))
print("c: " + str(c))
実行結果は次のようになります。
a: 1
b: 2
c: 3
見慣れないstr()についてはひとまず置いておいて、
print()の中で、文字列を複数つなげて表示する場合は[ + ]を用います。
たとえば次のプログラムを実行すると、『おいしいおいも』と表示されます。
a = "おいも"
print("おいしい" + a)
ここで、変数aに次のように数値を代入してみましょう。
a = 123
print("おいしい" + a)
実行すると次のようなエラーが表示されます。
TypeError: can only concatenate str (not "int") to str
これは、『文字列と数値は連結できない』といった内容のエラーです。
Pythonをはじめとする多くのプログラミング言語では、データの型というものが定められており、異なる型を同列に扱うことができません。
エラーに表示されている[str]は文字列を表し、[int]は数値を表します。
データの型は文字列や数値の他にも様々なものがありますが、それはまた別の機会にご紹介します。
今回の場合、数値を文字列に変換してやることで、エラーを解消することができます。
数値を文字列に変換するにはstr()を使います。
str(a)のように記述すると、変数aに代入された数値は文字列に変換されます。
使用例は次の通りです。
a = 1
print("a: " + str(a))
このプログラムは『a: 1』と表示されます。
変数名のルール
変数名は自由につけることができると書きましたが、いくつかのルールは存在します。
変数名でエラーが出る場合は、次の項目を参考にしてください。
使用できる文字はアルファベット、数字、アンダースコア
変数名で使用できる文字は次の通りです。
- 半角アルファベット
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ - 半角数字
0123456789 - 半角アンダースコア『 _ 』
- 全角文字(Python3以降)
Python3以降は変数名に全角文字を使用できます。
芋 = "いも"
print("芋: " + 芋)
実行結果は次のようになります。
芋: いも
最初の一文字に数字は使用不可
変数名の最初の一文字に数字は使用できません。
大文字と小文字は区別される
アルファベットの大文字と小文字は区別されます。
たとえば『Potato』と『potato』は別の変数として認識されますので注意しましょう
Potato = "芋"
potato = "imo"
print("Potato : " + Potato)
print("potato : " + potato)
実行結果は次の通りです。
Potatoに代入したつもりがタイプミスでpotatoに代入されていた、といったようなことが無いよう注意しましょう。
Potato : 芋
potato : imo
Pythonで既に使用中の単語(予約語)は使用不可
Python内の機能として既に使用中の単語(予約語)は、変数名として使うことができません。
予約語は次のプログラムで確認することができます。
import keyword
print(keyword.kwlist)
実行結果は次の通りです。
ここに記載されている単語は変数名として使用できませんので注意しましょう。
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
Pythonの魅力
Pythonは世界的にも人気の高いプログラミング言語のひとつです。
汎用性が高く、データ分析やWebアプリの開発等、幅広い分野で使用されているほか、日本の市場で今後も拡大することが予想されるAI(機械学習、ディープラーニング)技術との親和性も高く、Pythonを扱えるエンジニアの需要は伸びていくことが予想されます。
そのため開発言語として採用する企業も増えています。
市場動向調査では、Pythonエンジニアの求人倍率は約53倍と非常に高く、慢性的に人材が不足している状況です。
参考: レバテック『2021年12月のITエンジニア・クリエイター正社員転職/フリーランス市場動向』
また、プログラミング言語別の年収調査ではPythonは3位と高い水準にあり、中央値で575万円、最大提示年収で1,499万円と、日本人の年収の中央値397万円を大きく上回りました。
参考: BIZREACH『プログラミング言語別年収中央値を発表、求人検索エンジン「スタンバイ」調べ』
参考: 時事ドットコム『【2022年最新】日本の「平均年収」「年収中央値」を調査』
このように、Pythonは将来性の高いプログラミング言語と言えるでしょう。
就職、転職、副業を目指す上で、身につけておきたいスキルです。
Pythonの学習難易度は他のプログラミング言語と比べると比較的低いとされています。
独学で習得することも可能ですが、近年はオンラインスクールを利用して短期間で集中して実務レベルまで習熟させるという方も増えています。
プログラミングのオンラインスクールを活用する場合は、現役のエンジニアが講師となるスクールが優位でしょう。開発現場で通用する質の高い実務ノウハウを学ぶことができます。
また、オンラインスクールであれば全国どこからでも受講できるため、わざわざ都会へ出たり交通費をかけることなく、ライフスタイルに合わせて効率的にスキルを身につけることができることが魅力です。
ITエンジニアとして働き高い収入を得るための先行投資として、オンラインスクールは一つの選択肢となり得るでしょう。
無料体験できるオンラインスクールもあるため、独学でも習得できそうか、短期集中で学んだ方がいいのか、ご自身の力量を見極めてみるのもいいのではないでしょうか。
こちらの記事ではオンラインスクールを受講する価値はあるのかについて解説しています。あわせてどうぞ
コメント