Python3超入門【第1回】インストール/変数/型変換

Pocket



はじめに

この記事は、これからPython3に入門したい方のためのチュートリアルです。Python3のインストールからはじめ、基本文法を全て解説します。

Python3超入門

Python3超入門

<幸い、Python3に入門するのはとっても簡単です。はじめてプログラミングをする方でも楽しく入門できます。Python3を覚えればWEBアプリもデスクトップアプリも作れますし、物理などの科学技術計算にも使えます。当サイトをうまく利用して是非、楽しいPython3ワールドに入門して欲しいです。きっと楽しいはずです。筆者はPythonほど美しい言語はなかなかないと思っています!

まずはPython3をインストールしよう

Python3をインストールするには、https://www.python.org/downloads/release/python-351/からPython3をダウンロードすれば後は勝手にインストーラーがやってくれます。32bitのWindows環境の場合はWindows x86 executable installerを選択して下さい。64bitのWindows環境の場合はWindows x86-64 executable installerをインストールして下さい。

またMACの32bitの場合はMac OS X 32-bit i386/PPC installerを、64bitの場合はMac OS X 64-bit/32-bit installerをインストールしましょう。

たったこれだけでPython3のインストールは完了します!なんて楽なんでしょう!

Python3の実行環境は2つある

Python3をインストールすると、IDLEと呼ばれる対話型のシェル(インタープリタ)がインストールされます。IDLEを使えば短いPython3のコードをすぐに試すことができます。

もう1つはテキストエディタにPython3のコードを入力して、拡張子を.pyにして保存する方法です。これを実行するには、コマンドラインから、Python hoge.pyと入力すればOKです。

まずは簡単なIDLEの方から試してみましょう。Windows環境なら、スタートメニュー>すべてのプログラム(またはアプリ)>Pythom3.x>IDLEの順番で起動することができます。IDLEはこれからも頻繁に使用するのでデスクトップなどにショートカットを作っておくといいでしょう。

参考画像:Python IDLE

Python3-IDLE

 

Python3に入門する上で、このIDLEは強い味方です。短いコードを次々に入力することでPython3に慣れることができるからです。早速適当なコードを入力してみましょう。

例えば、IDLEに1+2と入力すると、青い文字で3という結果が返ってきます。実際に入力してみて下さい。

おめでとうございます!はじめてのPython3プログラムに入門することができましたね。Python3はなんて簡単で楽しいのでしょう!

次は好きな数字を画面に表示してみましょう。IDLEで、print(100)と入力してみて下さい。すると青い文字で100と表示されますね。次はprint(“abc”)と入力してみましょう。すると青い文字でabcと表示されます。これでPython3のprint文も使えるようになりました。

コマンドプロンプトからPython3のコードを実行する方法

コマンドラインから.pyファイルを実行する方法も一度試してみて下さい。

例えば、Cドライブ直下にpyという名前のフォルダを新規作成し、フォルダpyの中にtest.pyというテキストファイルを作成したとします。テキストエディタを使って、test.pyにprint(123)と入力し、文字コードをutf-8にして保存します。

【Windowsのメモ帳を使ってPython3ファイルを作成し、文字コードutf-8で、フォルダpyに保存する様子】

Python3ファイルをコマンドプロンプトから実行する方法

次に、コマンドラインを開いて、cd c:¥pyと入力し、フォルダpyに移動します。cdはコマンドプロンプト上で、フォルダを移動するコマンドです。フォルダpyに移動したら、Python test.pyと入力してみて下さい。123と表示されるはずです。

【コマンドプロンプトでtest.pyを実行した場合の画面例】

Python3ファイルをコマンドプロンプトから実行した結果画面

これからしばらくは、どちらかというと、IDLEを使ってPython3の基本文法に入門していければと思います。ここまでくれば、もっとPython3が楽しくなるまであと一歩です!

Python3の「数値、文字列、変数」入門

はじめてプログラミングをする方はまずは「+」「-」「×」「÷」をしてみましょう。IDLE上で簡単に試せます。

尚、Python3における「掛け算」は「*」です。「割り算」は「/」で表現します。

【参考画像】

python3による四則演算

参考画像にように打ち込むことができたでしょうか。

またこれだけでなく、割り算の余りを求めたり(剰余)、累乗もできます。例えば以下の通りです。

10%3
1
2**3
8

%剰余を表し**~乗を表します。従って、10÷3の余りは1、2の3乗は8となります。

これで四則演算だけではなく、剰余やべき乗の計算もできるようになりましたね。

Python3のデータ型

データ型
ブール値 TrueとFalseの2つしかありません。どちらも必ず大文字ではじまる点に注意!
整数 50
浮動小数点 3.14159
文字列 ‘こんにちは’、”こんばんは”

このようなデータ型を組み込みデータ型と呼びます(以降、単に「型」と呼びます)。Python3ではこういった組み込みデータ型も関数もすべてオブジェクトです。オブジェクトとは箱のようなものだと思って下されば結構です。

型によってオブジェクトの特徴は異なります。例えば、型は箱に入っている中身を変更できるかできないかを決めます。変更できることをミュータブル。変更できないことをイミュータブルと覚えておきましょう。イミュータブルな(変更できない)型は開けることができない箱ですが、箱はガラスでできており、中身は見えるような状態です。

これに対してミュータブルな(変更できる)箱は、開閉できるフタがついていて、中身を取り出すこともできるし、もちろん中身を見ることもできます。それどころか箱の中身を別なモノにすり替えることもできます。開けられる箱の中に入っているならば、中身を入れ替えられて当然ですよね。

但しミュータブルでもイミュータブルでも箱そのものは変えられません。例えを使わずに説明すれば、変更できるオブジェクトでも変更できないオブジェクトでも型は変えられないという意味です。

Python3と変数

変数とはパソコンのメモリの中に格納してある値を表す名前のことです。Python3に限らず大概のプログラミング言語では、プログラムする人が変数を定義できます。

メモリと変数

メモリ上にある数値3numという名前を付けました。これが変数を定義するということです。3にnumという名前をつけるには代入と言われる操作をします。Python3では例えばnum=3と書くと変数numに3と代入することになります。

尚、「=」は数学のイコールではありません。数学のイコールは「代入」ではなく、「同じ」を意味しますからね。

Python3における「=」のイメージは「→」です。なので実際にそんな文法はありませんが、num→3と書くと直観的に変数に値を代入していることがイメージできると思います。言い換えれば、3にnumという名前をつけていることがイメージできると思います。数学とは違って、「=」は代入するという動作を表す点に注意しましょう。

説明が長くなりましたね。試しにIDLEに以下のソースコードを入力してみて下さい。変数を定義して、定義した変数を画面に表示するコードです。

実行結果は3と画面に表示されます。

変数は箱ではない

はじめて変数を使う方には少し難しいお話しかもしれませんが、Python3において変数は箱ではありません。

Python3において変数は箱ではない

変数に値を代入しても、その値がコピーされるわけではありません。つまり変数という箱の中になんらかの値を入れるのではないのです。そうではなく、値をいれているオブジェクトに名前をつけているだけなのです。変数は単なる名前にすぎないのです。そして名前にすぎず箱ではない以上、変数は値自体ではありません。変数名は単なる値への参照※1なのです。変数名は値に張り付けられた付箋のようなものなのです。このことは超重要です。少し難しい話かもしれませんが、とりあえず「変数は値を入れる箱ではない」ということは絶対に忘れないで下さい。

※1参照:メモリ上に格納された値を指し示すこと

それではこのことを、さらに深く理解するために、変数に値を代入する過程で何が起きているか見ていきましょう。

まずは次のソースコードを見て下さい。

num1 = 3とした瞬間に以下のようなことが起こます。オブジェクトは箱のようなものだという点に注目して下さい。

整数3を入れたオブジェクトが作られる、そしてオブジェクト(箱)にnum1と書いた付箋が貼り付けられます

Python3における変数とオブジェクト

次の行print(num1)は簡単ですね。ただ単にnum1という名前のついたオブジェクトを画面に表示せよというだけです。で、問題はその次の行、3行目です。num2=num1って?

これは、先ほど1行目で生成された3を格納しているオブジェクト(箱)に、さらにnum2という付箋も張り付けるという操作です。イメージ的には3←num1←num2といった感じです。あくまでイメージですけどね(笑)

1つのオブジェクトに1つしか付箋を張り付けてはいけないルールはありませんね。何枚ペタペタしてもいいわけです。

最後の4行目ではprint(num2)ということで、3が出力されますが、この4行目で出力された3と2行目でprintされた3は同じオブジェクトですね。

これで、Python3の構成要素はみんなオブジェクトで、できていて、しかも、「変数は箱ではない!」ということがようやく実感を持って理解できたのではないでしょうか。

これらのことは物凄く重要なポイントです!!!

型を知るにはtype()を使う

リテラルという言葉をご存知の方とそうでない方がいると思うので一応説明しておきます。簡単に言えば、ソースコード中で、例えば123のようにそのまま書いてもいい表現のことをリテラル表現といいます。

こうしたリテラル表現や変数がどんな型なのかを知りたい場合にtype(~)を用います。難しいことは何もありませんね。型が知りたかったらtype()を使えばいいだけです。実際に型の理解を深めるために久々にIDLEを出してきてtype()を使う練習をしてみましょう。

python3のtypeメソッド

ちなみにPython3において文字列型はもしくは“”と囲んで表現します。‘2’は数字に見えますがで囲まれているので文字の2であって数字の2ではありません。文字列型は英語でString(ストリング)と書くので、type()で型を調べるとstrというStringの略語が返ってきます。整数型はint、少数型はfloatとも表現します。type()は型を簡単に調べられて便利ですね。

しかしここで見逃せないのが<class ‘int’>等と、class(クラス)という言葉が入っている点です。Python3においてクラスと型は全く同じ意味を持ちます

しかしこれだけではクラスの説明になっていませんね。クラスとは簡単に言えば、オブジェクトの設計図のことです。クラスと実際のオブジェクトの関係は、ちょうどたい焼き屋さんが使う、たい焼きの鋳型(いがた)と、実際のたい焼きの関係に似ています。鋳型(いがた)にたい焼きの元になる汁を流し込んで、あんこを挟むと、実際のたい焼きができますね。

【「たい焼き」と「たい焼きの鋳型」参考画像】

Python3におけるクラスとオブジェクトの関係図

鋳型(いがた)は鉄板なので食べることはできませんが、そこからできた「たい焼き」は甘くて美味しいですね(笑)。同じようにクラスはそれ自体では役に立ちません。しかし、オブジェクトは実際に食べることはできませんが(笑)、操作することができます。一口にオブジェクトは箱といっても、鋳型(いがた)つまりクラスが異なれば、オブジェクトの形もまた異なります。

クラスは設計図と最初に言いましたね。たい焼きの鋳型(いがた)も正に設計図です。だって鋳型によってたいやきの形になるわけですから。もし鋳型がサメの形をしていたら「たい焼き」ではなく「サメ焼き」になってしまいますね(笑)。

このようにクラスがたい焼きの鋳型(いがた)で、オブジェクトが、それを元に出来た、「実際の食べられる、たい焼きやサメ焼き」のことだと理解すれば、そこまでわかりにくくはないでしょう。

尚、クラスの詳細についてはこの記事「Python3超入門【第1回】」ではこれ以上深く踏み込みませんがまた別の回で詳しく説明しますので。今はクラスは「たい焼きの鋳型(いがた)」、オブジェクトは「実際に食べられるたい焼き」という関係性だというくらいに理解しておけば十分です。

で、type()に話を戻しますね。type()は型を調べるためのメソッドでした。そしてPython3において型とクラスは全く同じ意味です。なので、type(3)と入力すると、<class ‘int’>と出てくるわけですね。これでtype()のお話しは終わりにします。

型変換

Python3がいくら強い型付けを持っているとはいっても他の言語と同じように型変換の仕組みは持っています。型変換とは例えば少数型の3.14を整数型に変換することです。もし3.14を整数型に変換すると、.14が切り捨てられて3になります。以下にサンプルコードを示します。こういうのはコードを見た方が分かりやすいと思います。

※IDLEを利用すれば簡単に型変換の練習ができます。サンプルコードを参考にいろいろ試してみて下さい。

以上、7つの型変換の例を挙げてみました。今回は他の型から整数型に変換するint()関数を主に使いました。この関数は整数に変換できるものならなんでも整数に変換してしまいます。

尚、一番最後のTrue+2というのは暗黙的な型変換といって、Python3のインタープリタ(翻訳機)が、Trueに2を足すなら、結果を整数にしようと考えてくれるのです。「文脈的に+2するなら、整数の結果が欲しいんだよね?」と気を利かせてくれる機能ってことですね。

ちなみに何かの値を浮動小数点型に変換したいときは、float()関数を使えば簡単にできます。

Python3の文字列

Python3の文字列操作についての詳細はPython3超入門【第2回】に譲ることにします。ここでは文字列を扱う上で最も基本的な例文を通じて、とりあえず文字列を使えるようにします。

1行の文字列を表すためには’aaa’もしくは”bbb”と書きます。

2行以上にわたって続く長い文字列を扱うためには、

”’こんにちは、2行以上にわたるPython3の文字列です。シングルクォートもしくはダブルクォートが3つ連なっている点に注意して下さい。これで長い文章でも1つの変数に代入することができます。”’

この1行の文字列の例と複数行の文字列の例はどちらもIDLE上で実際に試してみることができます。是非、実践してみて下さい。

【参考画像】

Python3による複数行の文字列

おわりに

以上でPython3超入門【第1回】を終わります。

次回は文字列の続きから解説する予定です。

今後ともよろしくお願い申し上げます。



【関連記事】

[広告]確かな力が身につくPython「超」入門 (確かな力が身につく「超」入門シリーズ)
当サイト神推しのPython入門書、このサイトと併用することで学習効果大幅UP間違いなし!早速Amazonでレビューを確認してみよう。

 

 

あわせて読みたい

Amazonスポンサードリンク