Python入門|初心者が知識ゼロから始められる実践記事まとめ

「Pythonにこれから入門したい」と考えている方を対象とした記事です。未経験だと学習の手順や方法がわからず、疑問を抱えることもありますよね。

この記事はPythonの基礎知識や環境構築手順、Pythonを使ったプログラムの書き方などを豊富なサンプルから学習できる内容です。Python入門者はぜひ参考にしてください。

Pythonの入門知識

Pythonの入門者はまず、Pythonに関する基本的な知識を身につけましょう。Pythonに関する基礎知識が得られる記事を、順番にご紹介します。

  • Pythonとは
  • Pythonでできること

Pythonとは

「Python」は、1991年にリリースされた世界的に人気の高いプログラミング言語です。

最大の特徴は、文法がシンプルでわかりやすい点。覚えやすいため、初心者にも人気があります。

また、Pythonは平均年収が比較的高い言語です。一方で、プログラムの実行速度はあまり速くないなど、Pythonにもデメリットが存在します。

Pythonの特徴やメリット・デメリット、年収などについては、次の記事をご覧ください。

Pythonでできること

Pythonは汎用性の高いプログラミング言語で、さまざまな分野のプログラム開発に用いられています。最もポピュラーな分野は、人間の知能をプログラムで再現する「人工知能(AI)開発」です。

また、「YouTube」のようなWebサイトの開発にも、Pythonが良く使われます。Pythonでできることに関する記事をまとめたので、ぜひ参考にしてください。

Pythonの入門方法

Pythonの入門方法はさまざまですが、ポピュラーなのは下記の3つです。

  • 学習サイトを利用する
  • 学習本を読む
  • プログラミングスクールを利用する

Pythonを独学したい方には、学習サイトや学習本がおすすめです。

学習サイトでは、パソコンで知識を得ながらの実践が容易となります。学習本であれば、1冊で幅広い知識をまとめて得られるメリットがあります。

ただし、独学では不明点や問題点をすべて自力で解決しなければならず、挫折してしまう方も少なくありません。挫折の不安がある方は、プロの講師に教わってスムーズに学べるプログラミングスクールをおすすめします。

Pythonの入門方法に関する記事は、下記のように数多く紹介しています。興味のある記事をぜひお読みください。

Pythonの環境構築方法

Pythonの入門方法がわかったら、環境構築しましょう。Pythonの環境構築は大まかに下記の3つです。

  • Python本体
  • 開発環境
  • 仮想環境

「すぐにPythonのプログラムを動かしたい」という方は、1つ目のPython本体のみインストールすればOKです。Pythonの開発を快適にしたい方は、開発環境や仮想環境もインストールしましょう。

Python本体

Python本体とは、Pythonで書かれたプログラムを解釈し、実行するために必要なツールを指します。前述したとおり、Pythonを動かすためには最低限必須です。

開発環境

Pythonプログラミングを効率化したい方は、開発環境もインストールしましょう。具体的には、「テキストエディタ」「統合開発環境(IDE)」の2種類を指します。

テキストエディタは、Pythonのプログラムを効率的に書きやすくするためのソフトウェアです。統合開発環境は、プログラムの作成だけでなく実行やファイル管理など、開発に必要な機能をまとめて提供してくれます。

仮想環境

Pythonでは、「仮想環境」を構築することも可能です。仮想環境を用いることで、Pythonプログラムの作成・実行が行える環境を、1つのパソコンに必要な数だけ構築できます。

Pythonには「Python2」「Python3」という、2つのバージョンが存在します。この2つをそれぞれ区別して1つのパソコンで動かしたい場合などには、仮想環境が便利です。

ただし、現在では新しいPython3を使うことが一般的なので、このようなケースは多くありません。

Pythonの実行方法

環境構築が済んだら、Pythonプログラムの実行方法を押さえておきましょう。Windowsであれば「コマンドプロンプト」、Macであれば「ターミナル」を用いたコマンド操作で実行できます。

Pythonプログラムの実行コマンドは、「python 実行ファイル名.py」という形が基本です。Pythonプログラムを記述するファイルの拡張子は「.py」となります。

プログラミング言語で記述したプログラムを実行するためには、機械語への変換処理が必要です。Pythonは実行時に1行ずつ変換する「インタプリタ型言語」なので、事前に変換処理を行う必要はありません。

それに対して「コンパイラ型言語」の場合は、事前にプログラム全体を変換(コンパイル)する必要があります。Pythonの実行方法やインタプリタ・コンパイラの違いについては、次の記事を参考にしてください。

変数・データ型

プログラムの実行方法がわかったら、Pythonの文法について学習を進めていきましょう。まずは、「変数」や「データ型」について学習することをおすすめします。

変数とは

変数とは、数字や文字列などのデータを格納しておく「容器」のようなものです。Pythonに限らずプログラミングでは必ず使われるので、しっかり理解しましょう。

変数に関しては、こちらの記事を読んで学習するのがおすすめです。

データ型とは

データ型とは、各変数に「どのような種類のデータを入れられるか」という特質を規定するものです。Pythonは「動的型付け言語」で、実行時に変数へ入れるデータの種類によりデータ型が決まります。

データ型は整数、小数、文字列などさまざまな種類が存在するので、それぞれの使い方を理解しましょう。データ型について詳しくは、次の記事をお読みください。

演算

「演算」とは、2つ以上の変数や定数(固定データ)を組み合わせて計算・制御を行うことを指します。演算したい変数や定数どうしを「演算子」と呼ばれる記号ではさむことが基本です。

演算子の組み合わせによって、さまざまな演算を行えます。小学校で習う四則演算はもちろん、変数に別のデータを入れる際に使う「代入演算子」など、数多くの演算子が存在します。

演算に関しては、こちらの記事をご覧ください。

入出力処理

Pythonを使いこなすために、入力処理や出力処理についても理解しましょう。

入力処理とは、ユーザーがキーボードなどで入力したデータをプログラムに取り込む処理を指します。たとえば、ユーザー名やパスワードを入力してもらい、その内容に応じた処理を行う「ログイン機能」が一例です。

出力処理はその逆で、プログラム内のデータをウィンドウなどに表示する処理を指します。プログラミングの基礎学習における第一歩として、「Hello World」のような文字列を出力するのがポピュラーです。

Pythonでは、文字列の入力処理には「input」、出力処理には「print」という関数(詳細は後述)を使います。これらの使い方や「Hello World」の表示方法については、次の記事をご一読ください。

コメント

「コメント」は、プログラムの中に「メモ書き」を残すことです。コメントはプログラム実行時には処理されません。コンピューターではなく、プログラマー向けの記述であるためです。

IT企業でPythonを使う場合は、開発チーム内でプログラムを共有することが良くあります。適切なコメントが記述されたプログラムは、別のプログラマーが処理を理解しやすいのです。

コメントの基本的な書き方については、こちらの記事をお読みください。

▶関連記事

文字列操作

Pythonには、文字列に関するさまざまな操作が存在します。代表的なものは、下記のとおりです。

  • 文字列どうしを比較する
  • 文字列の一部分を置換する
  • 特定の文字列を検索する
  • 文字列を分割したり結合したりする

文字列を扱わないプログラムは、まず存在しません。次の記事を参考にして、Pythonの文字列操作について一通り学習しておきましょう。

条件分岐

プログラムは、さまざまな条件に応じて正しく動作させる必要があります。条件に応じて行う処理を切り替えるのが「条件分岐」です。

Pythonの条件分岐には、「if」という構文を使います。C言語やJavaなどのプログラミング言語には「switch」という条件分岐構文もありますが、Pythonでは使えません。

Pythonの条件分岐については、下記のように多くの記事で紹介しています。ぜひ参考にしてください。

反復処理

「反復処理」は、パターンの決まった処理を複数回にわたって繰り返すことです。

たとえば、「1から100までの整数を出力するプログラム」を考えましょう。前述のprint文でprint(1)、print(2)……と1行ずつ律儀に書いていくのでは、出力処理が100行も必要となります。

このようなケースでは、反復処理を用いるのが効率的です。「初期値が1の変数を1ずつカウントアップしての出力を、100回繰り返す」という反復処理にすれば、print文を1行に集約できます。

プログラム作成の負担が減らせる上に、コードがすっきりして他のプログラマーも読みやすくなるのです。

Pythonの反復処理には、「for」または「while」という2つの構文が使えます。大まかに言えば、反復回数が決まっている場合はfor文、何らかの条件により変わってくる場合はwhile文を使えばOKです。

Pythonの反復処理について詳しくは、こちらの記事をご覧ください。

関数

「関数」とは、よく使う処理をひとまとめにして、再利用できるようにする機能です。たとえば、「123と321の最大公約数を求めたい」ケースを考えましょう。

123と321の最大公約数だけであれば、剰余演算(余りを求める計算)や前述の反復処理を駆使することで算出可能です。しかし、「456と654」や「789と987」のように整数の組み合わせが変わるケースでは、どうでしょうか。

毎回、同様の処理を書くのでは非効率的ですよね。このようなケースでは、「整数Aと整数Bの最大公約数を求める関数」を作成すると効率的です。

関数にすることで、整数Aと整数Bに「456と654」や「789と987」を当てはめるだけで簡単に最大公約数が算出可能です。関数の入力データとなる整数Aや整数Bを「引数」、出力データとなる最大公約数を「戻り値」と呼びます。

また、標準で用意されている関数もあります。前述のデータを出力する「print」も実は、標準関数のひとつです。関数については、次の記事を参考にしてください。

オブジェクト指向

「オブジェクト指向」は、プログラムに登場する人やモノを「オブジェクト」という単位で扱う概念です。オブジェクトを作るためには、もととなる「クラス」を定義する必要があります。

クラスには、オブジェクトが持つデータ(変数)や、メソッド(アクション)を定義するのが基本です。たとえば「車」クラスを作る場合、「速度」などのデータ、「加速する」「減速する」などのメソッドが考えられます。

車の性質をクラス化することで、車種が変わっても同じクラスを使って対応できます。オブジェクト指向は初心者にはわかりにくい概念ですが、プログラムの開発効率を高めるために理解が欠かせません。

実は先ほど解説した変数なども、Pythonではひとつのオブジェクトとして扱われます。オブジェクト指向やクラスに関する記事は、下記のとおりです。

シーケンス型オブジェクト

「シーケンス型オブジェクト」とは、複数の要素(データ)をひとつにまとめたオブジェクトです。

たとえば100人いる社員名をプログラムで扱うときに、100個の変数を作成するのは大変ですよね。このような場合にシーケンス型オブジェクトを使うと、1つのオブジェクトに100人分の社員名を格納できます。

別々の変数として扱うよりも、データの関連性がわかりやすいのがメリットです。また社員の増減にも対応しやすいなど、プログラムでの使い勝手も良くなります。

主なシーケンス型オブジェクトは、下記の4種類です。

  • リスト
  • タプル
  • 集合
  • 辞書

それぞれ、順番に解説記事をご紹介します。

リスト

「リスト」は、大かっこ[ ]で全要素をはさみ、カンマ区切りで要素を順番に記述するシーケンス型オブジェクトです。[値1, 値2, 値3, 値4, …]のように記述します。

要素には順序の概念があり、特定位置の要素を抜き出したり、要素を並び替えたりできます。リストについては、こちらの記事をお読みください。

タプル

「タプル」はリストに似ていますが、大かっこではなく丸かっこ( )で全要素をはさみます。(値1, 値2, 値3, 値4, …)のように記述します。

リストとの大きな違いは、後から要素を追加したり削除したりできない点。その一方で、リストよりも処理速度が少し速いメリットがあります。

タプルについて学習したい方は、下記の中から気になる記事をお探しください。

集合

「集合」はリストやタプルとは異なり、要素に順番の概念がありません。また、値が重複した要素を持たないことも特徴です。

集合を用いる場合は「変数名 = set( リストやタプル )」のように、リストやタプルをもとに作成します。集合はsetという名称のクラスで、このようにset型のオブジェクトを生成しています。

集合の基本的な使い方については、次の記事をご覧ください。

辞書

「辞書」は、"キー"(値を格納する住所のようなもの)と"値"の組み合わせをワンセットの要素としたシーケンス型オブジェクトです。{キー1:値1, キー2:値2, キー3:値3 …}のように書きます。

リストやタプルと比べてやや複雑ですが、キーには任意の文字列を使用可能です。プログラマーが理解しやすいキー名を設定することで、辞書の要素を参照する際にミスを防げます。

辞書については、こちらの記事がおすすめです。

共通で使える関数・メソッド

いずれのシーケンス型オブジェクトでも、共通で使える関数やメソッドが存在します。要素数を取得する「len関数」が一例です。

シーケンス型オブジェクトを使いこなすために、しっかり学習しておきましょう。

正規表現

「正規表現」は、文字列を決められたルールにしたがって表現する概念です。正規表現を用いることで、文字列操作のバリエーションが広がります。

たとえば郵便番号は、正規表現だと「^[0-9]{3}-[0-9]{4}$」となります。正規表現について学んでいない方だと、暗号のようにも見えますよね。

正規表現は独特な表現方法なので、基本を押さえて書き方に慣れる必要があります。正規表現については、次の記事で学習しましょう。

日付・時刻

プログラミングでは、日付や時刻を扱うことも良くあります。Pythonでは、「datetimeモジュール」と呼ばれる便利なプログラムを使うことで、日付や時刻を扱えます。(モジュールの詳細は後述)

実際に扱う方法については、こちらの記事を参考にしてください。

ファイル・ディレクトリ操作

ファイルやディレクトリ(フォルダ)を作成したり、名称を変更したりといった操作もプログラミングでは重要です。Pythonでは、「osモジュール」を用いてファイルやディレクトリの操作を行います。

その操作内容は多岐にわたるため、幅広い解説記事を用意しています。ぜひ学習にお役立てください。

例外処理

Pythonでは構文の使い方が正しくても、実行時に思わぬ問題が発生してしまうことも。たとえば、ある変数を0で割ろうとすると「ゼロ除算」という例外が発生します。

「例外処理」とは、このような例外ケースでプログラムの処理を止めずに適切な対応を行うことです。Pythonでは「try-except」という構文を使うことで、例外の内容に応じた処理を実現できます。

例外処理について詳しくは、次の記事をお読みください。

モジュール・パッケージ・ライブラリ

Pythonの開発には、「モジュール」「パッケージ」「ライブラリ」の3概念が欠かせません。

「モジュール」は、Pythonのプログラムを記述するファイル(拡張子は「.py」)です。あるモジュールから他のモジュールを利用する場合は、「インポート(import)」と呼ばれる前準備が必要となります。

いくつかの関連するモジュールを使いやすくまとめたものが、「パッケージ」です。さらに、複数のパッケージをまとめたものは「ライブラリ」と呼ばれます。

ライブラリは「再利用できる便利なプログラム」という意味合いで、Pythonに限らず一般的に使われる言葉です。Pythonでは、多くのプログラマーが便利なパッケージやライブラリを開発し、一般公開しています。

それらをインポートして活用することで、プログラミングを効率化できます。モジュール・パッケージ・ライブラリに関しては、こちらの記事を参考にしてください。

まとめ

今回はPython入門者向けに、参考となる記事をまとめてご紹介しました。

Pythonはすっきりした文法で、入門者でも覚えやすいと言われています。しかし使いこなすためには、多くのことを覚える必要があります。

一朝一夕では習得できませんが、必要な要素を1つずつ学んでいけば確実に前進できるはずです。今回の内容を参考にして、ぜひPythonの習得を成功させてください。

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら