近年、アプリケーション開発や人工知能の構築、効率的なデータ分析、ブロックチェーンの開発などプログラミング界隈の多岐に渡る分野で注目を集めているPython。Pythonは国内にとどまらず海外でも広く支持されており、興味を持っている方や既に使用されている方も多いのではないでしょうか。
そこで今回大学・専門学校にてWeb制作の授業を担当し、さらに株式会社コムセントの取締役CTOとして幅広い分野でご活躍の「関口 和真(セキグチ カズマ)」先生をお招きし、Pythonの基礎知識から使い方まで今後のステップアップのためのヒントをお届けします。
【この記事で得られる学び】
- Pythonとは何か、基礎知識について知れる
- Pythonの記述に必要な要素やその書き方が分かる
- Pythonの記述において何に注意しなければならないかが把握できる
1.Python基礎オンライン講座-Pythonの概要-
「Python基礎オンライン講座」第1回目では、Pythonがまだよく分からない方から実際に使用されている方に向けて、Pythonの基礎から使い方まで解説。大学・専門学校にてWeb制作の授業を担当し、株式会社コムセントの取締役CTOとして幅広い分野でご活躍の「関口 和真(セキグチ カズマ)」先生に教えて頂きます。
2.登壇者紹介
関口 和真(せきぐち・かずま)
サイトデザイン、HTMLのコーディング、JavaScript・PHP等を利用したプログラム開発、iOS・Android向けアプリの作成、ウェブサーバーの実装、運用などトータルでウェブサイトの作成を行う。テクノロジーを理解し、デザインやコーディング、サーバー運用やサービス運用のアドバイスをトータルで行える点が強み。
株式会社コムセント(Web制作会社)のCTOとしてWebサイト作成、システム開発及びプログラム開発に従事。ECサイトのカスタマイズ、フルスクラッチによるWebシステム開発、映像配信システムや映像配信、配信用スマートフォンアプリ作成を主に手がける。
大学・専門学校にて、Web制作の授業を担当(非常勤)。イベントやセミナーの登壇経験も豊富。 Dreamweaver等の著書も。

3.Pythonについての基本知識
Pythonとは
まずPythonとは何かという基本的な知識からお伝えさせていただきます。Pythonとはプログラミング言語の一種ではありますが、元々プログラミングを学習するために作られた言語です。プログラミング言語は大きく二つの言語に分けられており、一つがコンパイル言語 もう一つがスクリプト言語と呼ばれています。例えばWordやExcelなどはC言語やJavaなどコンパイル言語と呼ばれるタイプのもので作られており、一方でPythonはスクリプト言語と呼ばれるものになります。
その二つの何が違うかというとコンパイルという作業が要るか要らないかで分類され、Pythonはコンパイルという作業が要らないタイプです。一見コンパイルの作業が要らない方が便利のように思えますが、例えばWordやExcelなどの大規模なプログラムをPythonで作って動かそうとすると重くて動かないなどの状況が発生してしまい、一方でコンパイル言語の場合はそのような大きなプログラムでも動きますが、その分作るのが大変という特徴もあります。また、コンパイル言語はすぐに試すことができないという欠点がありますが、スクリプト言語はコンパイルという作業が要らないためすぐに試すことができるというメリットもあります。
Pythonを動作させるためには
それでは実際にPythonを使用していくためにはどうしたらいいのでしょうか。まずPythonには言語としてのPythonと実行環境としてのPythonの二種類の意味があります。少し厄介なのですが、この言語としてのPythonを動作させるためには実行環境としてのPythonが必要です。
Pythonの実行環境にはいくつか実装系が存在します。実はPythonは他のプログラミング言語で作られており、例えばC言語で実装されたPythonは「CPython」、Java言語で実装されたPythonは「Jython」、C#言語で実装されたものを「IronPython」といい、一般的にPythonと呼ばれるものはC言語で実装されたものを指しています。
Pythonのバージョンについて
続いてPythonのバージョンについてですが、現在主流なのはPython3系「Python3.11.3」というものになります。Pythonは昔のバージョン1から2に更新され現在3系列になっていますが、2系列もまだ一部で使われていたり古い本に書かれていたりします。ただし2系列と3系列では互換性が失われてしまっているため、昔使えたものが使えなくなっていることやPythonの書き方も全然違っていることがあるので注意が必要です。
Pythonってどこで使われているの?
さてPythonは一体どこで使われているのでしょうか。身近な例で言うと、機械学習の作成(AI)がその一つとして挙げられます。AIとPythonの相性はかなり良く、AIのもの自体をPythonで作ることはありませんが、AIに必要なデータを提供する際やAIが処理した結果を受け取り必要な追加処理を行う際にもPythonを活用することが多いです。
またPythonの中からAIモデルの叩きを作成することやブラウザを自動化するなどの自動化に関する処理、サーバーの管理ツールやWebサービスの作成も可能です。

Pythonの特徴
Pythonの特徴の一つとして、Pythonは動的型付け言語というタイプになります。動的型付け言語とは型と呼ばれるものを自動的に類推してくれるものになり、反対が静的型付け言語と呼ばれます。ただ必ずしも正しいとは限らないため、注意が必要です。また、元々教育的目的のため比較的容易に記述することが可能であることと、多数のライブラリーが公開されていることも大きな特徴の一つです。それと共に開発事例が多いため、参考となる資料も豊富です。
Pythonのデメリット
ここでPythonのデメリットもお伝えさせていただきます。まず型指定がないため集団開発時にバグが生じやすいことが挙げられます。また先ほども述べた通り人が行うよりは遥かに速くはありますが、プログラミングの世界でいうとスクリプト言語は実装速度が少し遅い傾向にあります。さらにPythonはインデントが自由に追加できないため他の言語プログラミングの経験がある方は混乱してしまうかもしれません。最後に、Pythonに関して多くのライブラリが開発されていますが、その分ライブラリの更新頻度が高いためコードが古くなってしまう傾向にあるので注意しておいてください。
またデメリットに加えてPythonにできないことを二つ覚えておいて欲しいと思います。一つはスマートフォンアプリの作成。そしてもう一つはブラウザーのフロントエンドの作成です。
Pythonを作成、動作させる
では実際にPythonを作成、動作させるために何が必要になるのでしょうか。まずPythonは一般的なエディタなどで記述可能です。今回はVisual Studio Codeをおすすめさせていただきます。もちろんEmacsなどの他のエディタやPyCharmなどの統合開発環境(IDE)などを使用しても問題ありません。
Pythonはソフトを入れればMacBookやWindows、Linuxでも動きます。これから実際にPythonを記述していくやり方をお伝えさせていただきますが、今回はAnacondaやMiniconda、Jupyterなどのツールと一緒になっているタイプのPythonではなく一般的にインストールしたPythonのご説明のみとさせていただきます。
4.Pythonの記述と変数について
記述の基本知識
ここから実際にPythonを記述していくやり方をお教えします。
まず覚えておいていただきたいのは、Pythonの記述においては主に「変数」「関数」「制御」「クラス」の四つから構成されることです。そしてPythonの書き方には一応御作法があるためこちらも覚えて欲しいと思います。Pythonでは空の行などは一切意味がないため適宜改行を行なっても問題ありません。ただしインデント(字下げ)はPythonでは意味を持つため、注意が必要になります。また一行で一つの動きを書き、あまり一般的ではありませんがセミコロンで区切って複数の動きを書くことも可能です。加えてバックスラッシュを文末につけると次の行と繋がるため、一行でかなり長いプログラムを書く際は途中でバックスラッシュを入れて改行という形をおすすめしています。
変数について(1)
変数については絶対に覚えていただきたいものになります。変数とは変わる数のことを指します。ここで注意していただきたいのは、変わった数ではないという点です。変わる数を指しているため数をいくつでも変えることが可能で、数以外でも入れることができます。
また変数は左辺と右辺をイコールで繋げますが、数学の世界と異なりプログラミング言語のイコールは左辺と右辺が同じという意味ではありません。「左辺に右辺の値を入れてください」という意味になります。
左辺に置くものを変数名と言いますが、変数名は自由に設定ができます。ただし、timeなどの予め別の役割が決められている予約語と呼ばれるものは使用ができません。そして変数名の文字は英字またはアンダーバーで始めてください。数字は2文字目以降で使用可能です。
変数について(2)
Pythonの変数は予めこの変数を使用するなどを指定する「宣言」をせずに使用が可能で、いきなり変数と書いていただければ使用できます。また最初に予め0や例えばシングルクォーテーションを二つなどの空の文字を入れる初期化も可能です。
そして数字を数値として扱うか文字として扱うかの型は一切ありません。その代わり文字は文字列型というものに勝手に分類されますが、数字はシングルクォーテーションをつけずに書くと数値型もしくはロング型と呼ばれるものになり、シングルクォーテーションで数字を括ると文字列型に分類され足し算などができなくなるタイプになるため、この点を注意していただければと思います。
変数について(3)
上記で文字はシングルクォーテーション(またはダブルクォーテーションでも可)で括るとお伝えさせていただきましたが、例えば変数aのところにテキストを入れたいなどの際もシングルクォーテーションかダブルクォーテーションで括ってください。括らないと変数扱いにされてしまいます。
また数値はアンダーバーと使って区切りをつけることができ、アンダーバーを使用した時と使用しなかった時で意味は変わりません。そして文字列で改行を表す際は¥n(バックスラッシュ+n)と記述してください。

変数について(4)
変数についての冒頭で変数には特殊な値を格納可能とお伝えさせていただきましたが、真か偽かを示す値(Bool値)も入れることが可能です。TrueまたはFalseを使用し、フラグとして利用することが多いです。また何も入っていないことを示す値(NULL値)ではNoneを使用します。ここで注意していただきたいのはTrue、False、Noneの三つ全て先頭の文字を大文字にするということです。
コメントについて
次にとてもよく使われるコメントについて覚えておいて欲しいと思います。コメントの大きな特徴は、スクリプトの実行時にPython側の処理系はコメントを無視するということです。つまり何を書いていただいても問題ありません。プログラムを書いていると後で忘れてしまうことが多いため、メモ書きとして残しておきたいという際にとても便利です。書き方は、シャープをつけるとその後ろの一行は丸々コメントになります。
5.Pythonの記述における基本要素
文字列連結
変数を扱っていると変数同士を繋げる必要が出てくる時がありますが、その際はプラスの記号を使用します。プラスの記号は算術子(加算)としても使用されますが、文字列同士を繋げる場合にも使用します。これは変数の値によって役割が変わるため、値が文字列なのか数字なのかをとても気をつけて欲しいと思います。

条件分岐
またプログラミングをやっていると避けては通れない条件分岐というものがあります。これはプログラミングでは多い、条件に応じて処理を分けるケースの際に使用します。例えば「18歳未満の方は駄目です」などが分かりやすいと思いますが、これは一般的にif文と呼ばれており、最初にifと書いた後条件式を記載します。ただしPythonの場合、if文の中ではインデント(タブキーまたはスペース4つ)を入れることを覚えておいてください。
また条件が複数の場合はelifというのを使用し、その後ろに条件式を書きます。こちらに該当する際は条件式2に当てはまる部分が動作し、どの条件にも当てはまらなかった場合は最後にelseと記載してその後ろに条件式は書きません。
そしてこれらの条件分岐に関してですが、if文のみ必須となります。他のelifやelseに関しては書いても書かなくても問題はありません。またelifは何度使用しても大丈夫です。

条件式
それでは上記で出てきた条件式とは一体どんなものなのでしょうか。条件式とは0以外の数、True、何らかの文字列は全て条件式で当てはまる、つまり全て条件が成立したという風に解釈されるためご注意ください。一方で、0やFalseだと条件式に当てはまらないと解釈されてしまうため、こちらもご注意いただければと思います。
また条件式は一般的に不等号を使用して判断させます。例えば「if a>3」と書くとaが3よりも大きければTrueになる(成立する)ということになります。ここで覚えておいて欲しいのが、一致させる場合はイコールイコールと重ねて書くことです。イコールを一つだけしか書かない場合は変数の代入の意味になってしまうため、一致の意味にさせたい際はイコールを二つ重ねてください。
そして複数の条件を組み合わせたい際は、どの条件にも当てはまっていてTrueとする場合にはandを、どれか一つでも条件が当てはまっていればいい際はorを使用して第一条件、第二条件、その他の条件を繋げてください。

ループ
ループとは同じ処理を繰り返す時に使用するものになり、Pythonの場合は「while」を使用することが多いです。条件が成立している限りループするという意味で、whileと書いた後ろに条件を書き、繰り返す内容は次の一文としてインデントして記載します。そのインデントされている中のものが実行されます。
またPythonには変数として与えたものを展開し続けるというfor in 文というものがあり、「for 変数 in [リスト・タプル・辞書など]」の形で書いていただくとその変数の部分に[リスト・タプル・辞書など]で記載したものが入ってくる形になります。

import文
Pythonでは一部の機能がライブラリとして提供されており、その中でも標準ライブラリと外部ライブラリの二つの種類があります。標準ライブラリはPythonで最初から導入されているライブラリで、外部ライブラリはPythonには組み込まれておらずインストールしてから読み込んで利用するものになります。特に標準ライブラリに関してですがPythonはものすごい数の標準ライブラリがあり、さらに一部の機能を使おうとすると読み込んでから使わないといけないこともあります。その際にimport文が必要になります。

関数
Pythonのデフォルトで関数が使用できます。関数とは特定の処理をしてくれる機能を持ったものと考えていただければ大丈夫です。引数を与えることで任意の動作が可能になり、基本的に関数は括弧と閉じ括弧がつきます。括弧の中に値を入れることが可能で、一つしか入れられないものと複数入れられるものがあるため、その点に気をつけていただければと思います。こちらの関数ですが、自分で作ることも可能です。それをユーザ定義関数と言います。
ユーザ定義関数
一般的にプログラムはこの関数の塊、何らかの処理をまとめたものになります。書き方はdefと書いてその後ろに関数名、その後ろに括弧で閉じた引数を記載します。関数名には決まりはないため自分でつけてください。そして次の文でインデントして処理の内容、さらに次の文でインデントしてreturnと書き、その後ろに処理の結果を記載します。

Pythonの記述と実行
最後にPythonの記述と実行ですが、Pythonは単一のファイルに記述して保存してください。その際拡張子はpyとし、実行する場合はコマンドプロンプトかターミナルなどで行ってください。第一回目のPython基礎講座はここまでとさせていただきます。

まとめ
Python基礎オンライン講座の第一回目では、Pythonの基礎知識からPythonの記述における基本要素を詳しく教えていただきました。Pythonはプログラムの「読みやすさ・わかりやすさ」を重視しPythonを知らない人でも理解されやすいようにデザインされていますが、その中でも注意しなければならないところや決められたルールなどを把握するためのヒントになったのではないでしょうか。ぜひPythonを学ぶための一歩にしてみてください。
Pythonを動画で学ぼう!【C&R社会員専用】
Python基礎講座 Eラーニング
Pythonプログラミングを実習形式で学ぶことができます。Webサイトデータ取得・Webサイト作成、アソシエーション分析、文書類似度検索など。
詳しくはこちら>



