Python入門|初心者が最初に学ぶべき基礎文法とおすすめ教材
Pythonは、世界で最も人気のあるプログラミング言語の一つです。TIOBE Indexの2026年ランキングでも常に上位を維持しており、Web開発、AI・機械学習、データ分析、業務自動化など、幅広い分野で活用されています。文法がシンプルで読みやすいことから、プログラミング初心者が最初に学ぶ言語としても高い人気を誇ります。
本記事では、Pythonの特徴と人気の理由から始まり、環境構築の手順、初心者が押さえるべき基礎文法10選、おすすめの学習教材、そして1ヶ月間の学習ロードマップまでを詳しく解説します。プログラミング学習の全体像を把握したい方は、先にプログラミング学習ロードマップをご覧ください。
Pythonとは?特徴と人気の理由
PythonはオランダのGuido van Rossum氏が1991年に開発した汎用プログラミング言語です。「誰が書いても読みやすいコード」を設計思想としており、初心者からプロフェッショナルまで幅広い層に支持されています。
Pythonの主な特徴
シンプルで読みやすい文法
Pythonはインデント(字下げ)でブロック構造を表現するため、コードが整理されて読みやすくなります。他の言語で必要な波括弧やセミコロンが不要で、英語に近い自然な記法でコードを書けます。
豊富なライブラリとフレームワーク
Web開発のDjango/Flask、データ分析のpandas/NumPy、機械学習のscikit-learn/TensorFlow/PyTorchなど、膨大な数のライブラリが提供されています。やりたいことに対して既存のライブラリが用意されていることが多く、開発効率が非常に高いです。
コミュニティが大きく情報が豊富
世界中に巨大なコミュニティがあり、日本語の学習リソースも充実しています。エラーに遭遇しても、検索すれば解決策が見つかりやすいのは初心者にとって大きなメリットです。
マルチパラダイム対応
手続き型、オブジェクト指向、関数型の各プログラミングスタイルに対応しており、用途に応じた柔軟なコードが書けます。
Pythonでできること(Web/AI/データ分析/自動化)
Pythonは「なんでもできる言語」と言われるほど応用範囲が広いです。主な活用分野を4つ紹介します。
Web開発
DjangoやFlask、FastAPIといったフレームワークを使って、WebアプリケーションやAPIサーバーを構築できます。Instagram、Spotify、Dropboxなどの有名サービスもPythonで開発されています。
AI・機械学習
Pythonは人工知能・機械学習分野のデファクトスタンダード言語です。TensorFlow、PyTorch、scikit-learnなどのライブラリを使い、画像認識、自然言語処理、予測モデルの構築などが可能です。ChatGPTの登場以降、AI分野でのPython需要はますます高まっています。
データ分析・可視化
pandas、NumPy、Matplotlibなどのライブラリを使い、大量のデータを効率的に処理・分析・可視化できます。Excelでは扱いきれない大規模データの分析や、自動レポート生成に活用されています。
業務自動化(RPA)
ファイル操作、Web上のデータ収集(スクレイピング)、メール送信、Excel操作など、日常業務の自動化にPythonは非常に強力です。非エンジニアのビジネスパーソンが業務効率化のためにPythonを学ぶケースも増えています。
環境構築の手順
Pythonの学習を始めるには、まず開発環境を整える必要があります。ここでは最もシンプルな方法を紹介します。
方法1:Python公式インストーラー(推奨)
- python.orgにアクセスし、最新バージョンのPythonをダウンロード
- インストーラーを起動し、「Add Python to PATH」にチェックを入れてインストール
- ターミナル(Windowsはコマンドプロンプト)で
python --versionを実行し、バージョンが表示されれば成功
方法2:Google Colab(環境構築不要)
環境構築なしですぐにPythonを試したい場合は、Google Colabがおすすめです。ブラウザ上でPythonコードを実行でき、Googleアカウントがあれば無料で利用できます。データ分析や機械学習の学習に特に適しています。
エディタの準備
コードエディタはVisual Studio Code(VS Code)が最もおすすめです。Python拡張機能をインストールすることで、コード補完、デバッグ、Lintなどの便利な機能が使えます。
- VS Codeをダウンロードしてインストール
- 拡張機能から「Python」を検索してインストール
- 新しいファイルを
.py拡張子で保存し、コードを書き始める
基礎文法10選
Pythonの基礎文法を10項目に厳選して解説します。それぞれサンプルコードとともに紹介しますので、実際に手を動かしながら学んでください。
1. 変数とデータ型
Pythonでは変数の型を宣言する必要がありません。値を代入するだけで自動的に型が決まります。
# 文字列
name = "田中太郎"
# 整数
age = 28
# 浮動小数点数
height = 175.5
# 真偽値
is_engineer = True
print(f"名前: {name}, 年齢: {age}歳")
主なデータ型は str(文字列)、int(整数)、float(浮動小数点数)、bool(真偽値)、None(値なし)です。
2. 型変換
異なるデータ型を変換する関数を覚えましょう。
# 文字列 → 整数
num_str = "42"
num_int = int(num_str)
# 整数 → 文字列
age = 28
age_str = str(age)
# 文字列 → 浮動小数点数
price_str = "1980.5"
price_float = float(price_str)
3. 条件分岐(if文)
条件に応じて処理を分岐させます。Pythonではインデントでブロックを表現します。
score = 85
if score >= 90:
print("評価: A")
elif score >= 70:
print("評価: B")
elif score >= 50:
print("評価: C")
else:
print("評価: D")
4. ループ(for文 / while文)
繰り返し処理はfor文とwhile文で実現します。
# for文:リストの要素を順番に処理
fruits = ["りんご", "バナナ", "みかん"]
for fruit in fruits:
print(fruit)
# range()を使った回数指定のループ
for i in range(5):
print(f"{i + 1}回目のループ")
# while文:条件が真の間ループ
count = 0
while count < 3:
print(f"カウント: {count}")
count += 1
5. 関数
関数を定義して処理をまとめることで、コードの再利用性と可読性が向上します。
def greet(name, time="おはよう"):
"""挨拶を返す関数"""
return f"{time}ございます、{name}さん!"
message = greet("田中")
print(message) # おはようございます、田中さん!
message2 = greet("鈴木", "こんにちは")
print(message2) # こんにちはございます、鈴木さん!
6. リスト(list)
リストは複数の値を順番に格納するデータ構造です。
# リストの作成
languages = ["Python", "JavaScript", "Java"]
# 要素の追加
languages.append("Go")
# 要素へのアクセス(インデックスは0始まり)
print(languages[0]) # Python
# リスト内包表記
numbers = [1, 2, 3, 4, 5]
doubled = [n * 2 for n in numbers]
print(doubled) # [2, 4, 6, 8, 10]
# スライス
print(languages[1:3]) # ["JavaScript", "Java"]
7. 辞書(dict)
辞書はキーと値のペアでデータを管理するデータ構造です。
# 辞書の作成
user = {
"name": "田中太郎",
"age": 28,
"skills": ["Python", "SQL"]
}
# 値の取得
print(user["name"]) # 田中太郎
print(user.get("email", "未登録")) # 未登録(キーがない場合のデフォルト値)
# 値の追加・更新
user["email"] = "tanaka@example.com"
user["age"] = 29
# キーと値のループ
for key, value in user.items():
print(f"{key}: {value}")
8. クラス(オブジェクト指向)
クラスを使うと、データと処理をまとめて管理できます。
class Engineer:
def __init__(self, name, language):
self.name = name
self.language = language
self.projects = []
def add_project(self, project):
self.projects.append(project)
def introduce(self):
return f"{self.name}です。{self.language}エンジニアです。"
# インスタンスの作成
engineer = Engineer("田中", "Python")
engineer.add_project("顧客管理システム")
print(engineer.introduce())
print(f"担当プロジェクト: {engineer.projects}")
9. 例外処理(try / except)
エラーが発生する可能性のある処理を安全に実行するための仕組みです。
def divide(a, b):
try:
result = a / b
except ZeroDivisionError:
return "エラー: 0で割ることはできません"
except TypeError:
return "エラー: 数値を入力してください"
else:
return f"結果: {result}"
finally:
print("計算処理が完了しました")
print(divide(10, 3)) # 結果: 3.3333...
print(divide(10, 0)) # エラー: 0で割ることはできません
10. ファイル操作
テキストファイルの読み書きは業務自動化の基本です。
# ファイルへの書き込み
with open("output.txt", "w", encoding="utf-8") as f:
f.write("Pythonでファイルに書き込み\n")
f.write("2行目のテキスト\n")
# ファイルの読み込み
with open("output.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
# 1行ずつ読み込み
with open("output.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
with文を使うことで、ファイルを自動的に閉じてくれるため、リソースの解放漏れを防げます。
おすすめ学習教材・サービス
Python学習に役立つ教材とサービスを、レベル別に紹介します。
入門レベル(完全初心者向け)
| 教材名 | 種類 | 料金 | 特徴 |
|---|---|---|---|
| Progate | Web | 無料〜月額1,078円 | ブラウザ上で手を動かしながら学べる |
| paizaラーニング | Web | 無料〜月額1,078円 | 動画講座と演習問題のセット |
| Python公式チュートリアル | Web | 無料 | 公式の日本語チュートリアル |
初級〜中級レベル
| 教材名 | 種類 | 料金 | 特徴 |
|---|---|---|---|
| Udemy | 動画 | セール時1,200〜2,400円 | 体系的なコースが豊富 |
| 独学プログラマー | 書籍 | 約2,400円 | Pythonで学ぶプログラミングの基礎 |
| Python実践入門 | 書籍 | 約3,000円 | 実務で使えるレベルまで解説 |
中級〜上級レベル
| 教材名 | 種類 | 料金 | 特徴 |
|---|---|---|---|
| AtCoder | Web | 無料 | 競技プログラミングで実力を鍛える |
| Kaggle | Web | 無料 | データ分析・機械学習のコンペに参加 |
| 実践的なプロジェクト | 自主制作 | 無料 | 自分でアプリを作って実力を確認 |
無料で学べるリソースを詳しく知りたい方は無料プログラミング学習リソースをご覧ください。スクールの受講も検討している方はプログラミングスクール比較も参考にしてください。Python特化で実践的に学びたい方には、Winスクールが提供するPython Winnerもおすすめです。
学習ロードマップ(1ヶ月計画)
Python の基礎を1ヶ月で習得するためのスケジュールを紹介します。1日1〜2時間の学習を想定しています。
第1週:基礎文法の習得
- Day 1-2: 環境構築 + 変数・データ型・演算子
- Day 3-4: 条件分岐(if文)+ ループ(for / while)
- Day 5-6: 関数の定義と使い方
- Day 7: 第1週の復習とミニ課題(計算機プログラムの作成)
第2週:データ構造とファイル操作
- Day 8-9: リストとタプルの操作
- Day 10-11: 辞書とセットの操作
- Day 12-13: ファイル操作(読み書き)+ 例外処理
- Day 14: 第2週の復習とミニ課題(CSVデータの読み込みと集計)
第3週:オブジェクト指向とライブラリ
- Day 15-16: クラスとオブジェクト指向の基礎
- Day 17-18: モジュールとパッケージ、pip の使い方
- Day 19-20: 外部ライブラリの活用(requests, BeautifulSoup)
- Day 21: 第3週の復習とミニ課題(Webスクレイピングプログラムの作成)
第4週:ミニプロジェクト制作
- Day 22-24: ミニプロジェクトの企画・設計・実装
- Day 25-27: 実装の続き + テスト + コードの整理
- Day 28-30: GitHubへの公開 + READMEの作成 + 1ヶ月の振り返り
ミニプロジェクトのアイデア
- 家計簿CLI - コマンドラインで収支を記録し、月次集計を表示
- 天気予報ボット - 天気APIからデータを取得して通知する
- Webスクレイピングツール - 特定サイトから情報を収集してCSV出力
- クイズアプリ - JSONファイルから問題を読み込んで出題
よくある質問
Q1. PythonとJavaScript、どちらを先に学ぶべきですか?
目指すキャリアによって異なります。Web系エンジニアを目指すならJavaScriptを先に学ぶのがおすすめです。データサイエンティストやAIエンジニア、業務自動化に興味があるならPythonから始めるとよいでしょう。どちらも需要が高い言語なので、最初の言語でプログラミングの基礎を身につければ、もう一方の言語への移行はスムーズです。全体的な学習計画はプログラミング学習ロードマップで解説しています。
Q2. Pythonで就職・転職は可能ですか?
可能です。Python関連の求人は年々増加しており、特にデータ分析、AI・機械学習、バックエンド開発の分野で需要が高まっています。ただし、Pythonだけでなく、SQL、Git、クラウドサービス(AWS等)などの周辺スキルも併せて身につけることで、転職の選択肢が広がります。
Q3. Pythonの学習にどのくらいの期間が必要ですか?
基礎文法の習得には1ヶ月程度、実務で使えるレベルになるには3〜6ヶ月程度が目安です。ただし、学習に割ける時間やバックグラウンドによって個人差があります。大切なのは期間ではなく、実際にコードを書いてプロジェクトを完成させた経験を積むことです。
Q4. Pythonのバージョンは2と3のどちらを学ぶべきですか?
Python 3を学んでください。Python 2は2020年にサポートが終了しており、新しいプロジェクトではすべてPython 3が使われています。教材を選ぶ際も、Python 3に対応していることを確認しましょう。
Q5. プログラミング未経験でもPythonを学べますか?
学べます。Pythonは「初心者が最初に学ぶべき言語」として世界的に推奨されています。文法がシンプルで英語に近いため、プログラミングの概念を直感的に理解しやすいのが特徴です。Progateなどの入門サービスから始め、段階的にレベルを上げていくことで、着実にスキルを身につけられます。独学に不安がある方は独学の限界と対策も参考にしてください。
まとめ
Python入門のポイントを振り返ります。
- Pythonは初心者に最適な言語 - シンプルな文法、豊富なライブラリ、大きなコミュニティが学習をサポートする
- 活用分野は幅広い - Web開発、AI・機械学習、データ分析、業務自動化など、キャリアの選択肢が広がる
- 環境構築はシンプル - Python公式サイトからインストールするか、Google Colabですぐに始められる
- 基礎文法10選を押さえる - 変数、型、条件分岐、ループ、関数、リスト、辞書、クラス、例外処理、ファイル操作
- 1ヶ月の学習計画を立てる - 第1〜2週で基礎を固め、第3週でライブラリを学び、第4週でミニプロジェクトを制作する
Pythonの基礎を身につけたら、次のステップとしてWebフレームワーク(Django / Flask)やデータ分析ライブラリ(pandas)に進むとよいでしょう。プログラミング学習の全体的な計画はプログラミング学習ロードマップで、スクール選びはプログラミングスクール比較で詳しく解説しています。一歩ずつ着実に学び、エンジニアとしてのキャリアを築いていきましょう。
この記事を書いた人
エンジニア転職ラボ編集部
編集長
学生時代からWebサービスを複数運営し、大手Web系企業にてフルスタックエンジニアとして従事。その後フリーランスとして独立し、5年以上にわたり常時複数社のプロジェクトに参画。未経験エンジニアのメンタリング経験を通じて、正確な転職情報の必要性を実感し、エンジニア転職ラボを設立。