【Python入門】変数の宣言と使い方を解説

ryo
書いた人 ryo

今回は、Pythonの変数について説明します。

プログラミングにおいて大切な概念である変数について、学んでいきましょう。

この記事では、

・変数に関する説明
・変数の型

について解説します。さらに、

・変数の命名規則

についての解説を通して、実際のプログラミングで気をつけることを説明します。

※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。

変数とは

プログラミングで使う変数とは、メモリ上のデータに、アクセスしやすいようにつける名前です。

数学の変数も「3x+1=0」の「x」の部分を指しますが、基本的にプログラミングの変数とは違うものとして考えましょう。

また、変数と値を対応付けることを代入といいます。

このように変数に値を「代入」するという考え方は手続き型言語(C言語、PHP、Pythonなど)でよく用いられます。

また、もしかしたらこれに似た動作を「束縛」と言っている記事を見たことがある方がいるかもしれません。

これは関数型言語(Haskell, Lisp, Rustなど)でよく用いられます。関数型言語では変数が値に束縛されると考えます。

Pythonについて調べていても、もしかしたら出会うかもしれない表現です。

そういう表現もあるのだ、程度でいいので覚えておいてください。

また、Pythonでは動的型付けという型システムを採用しています。

つまり「int num = 10」のように書かなくても、「num = 10」と書けばnum変数はint型だと自動で型を予測してくれるということです。

これらを念頭に、実際にPythonの変数の使い方を見ていきましょう。

変数に値を代入する方法

ここからは、Pythonで実際に変数に値を代入する方法を解説します。

いくつかの変数への代入方法を紹介します。

このように、変数を左、代入する値を右に書きます

イコールの両端の半角スペースは、開けても開けなくてもかまいません。

一つのイコールでも、カンマで区切れば複数の変数に複数の値を一度に代入できます。

実行結果

ちなみに、変数名として使えるのは

・小文字の英字
・大文字の英字
・数字
・アンダースコア

のみで、数字は変数の名前の先頭には使えません

また新しい言語ではギリシャ文字なども使えますが、Pythonでは使うことができません。

これらは有効です。

しかし、以下の変数は使用できません。

変数には関数も入れることができます。

これは関数がオブジェクトとして扱えるからです。

またクラスもオブジェクトなので、関数同様に変数に代入することができます。

変数の型について

Pythonでは変数の型を宣言する必要はありません。

動的型付けによって、型が自動的に判別されています。

変数に代入されたオブジェクトの型をしっかり確認したい場合は、type/isinstance関数を使います。

詳しくはこちらの記事をご覧ください。

ここまで変数を作るときに型を宣言しなくてもいいと解説してきました。

ですがPython 3.5以降のバージョンではtype hintingというものが登場しました。

これは関数の引数や返り値の型を宣言することで、コーディング・デバッグをしやすくしてくれるというものです。

これについてはこちらの記事で詳しく解説しています。

変数の命名規則について

変数の名前はルールに則れば、基本的には自由につけることができます。

しかし、予約語や、組み込み関数と同じ名前をつけるのは避けましょう。

Pythonには、「def、class、True、False、import」など、30個以上の予約語があります。

詳しくはこちらのキーワードを確認しましょう。

わかりやすく便利な文字列が予約語にはたくさんあります。

しかし、不用意に使うことでコード内で衝突が起こり、不具合を起こす可能性も無いとは言い切れません。

こちらのサンプルコードを見てみましょう。

type関数を使って型を確認すると、num=100の場合には、int型だと表示されるでしょう。

しかし、typeという変数にfloatと代入してしまうと、このような実行結果になります。

実行結果

本当であればnumの型(ここではint型)が表示されるされるはずですが、実際には違う結果が表示されていますね。

これはtypeという変数にfloatという関数を入れてしまったから起こった問題です。

エラーにはなりませんが、重大なバグの原因にもなり得るコードです。

このようなことを防ぐためにも、他の変数名などと被らない名前を使うように心がけましょう

まとめ

Pythonの変数について紹介してきました。

プログラミングをはじめてすぐに学ぶ事の多い変数ですが、意外にも奥が深いことがわかりましたね。

それぞれの言語によって扱いは変わります。

使っているプログラミング言語の流儀にあった、適切な変数の使い方を心がけましょう。

Pythonカリキュラム無料公開中!
この記事はPython入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Python学習に必要な情報を一つにまとめていますので効率よくPythonを学ぶことが出来ます。この機会に是非活用していただければと思います。


Pythonを最短で習得したい方へ
元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Pythonを独学で習得することができるでしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「なかなかやり遂げられ無い、挫折してしまった」
「時間が足りない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決することができない」
このような悩みを抱えている方も少なく無いと思います。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、AI(人工知能)や機械学習、IoTについて学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

Pythonならではの学習方法や、現役Pythonエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta_bannar-ai1

非常識な結果を出す卒業生多数!

エンジニアキャリア戦略

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

ryo

ryo

大学生です。主にPythonの記事を書いています。