記事内にはプロモーションが含まれています

Python初心者が作れるもの10選!簡単なプログラム例や成果物の例を紹介

Python初心者が作れるもの10選!簡単なプログラム例や成果物の例を紹介 プログラミング言語

Pythonの基本的な文法を学び終えた方が、次に直面する課題は「学んだ知識をどう活かせばよいか」「具体的に何が作れるのか」ということでしょう。

学習した内容を定着させ、次のステップへ進むためには、実際に手を動かして何か「成果物」を作ってみる経験が非常に重要です。

そこでこの記事では、Pythonの学習を始めたばかりの初心者でも挑戦しやすく、完成させることで達成感を得られる「作れるもの」を10個厳選して紹介しますので、是非参考にしてください。

【著者プロフィール&本記事の信頼性】
プロフィール
  • 著者は元エンジニア
  • 大手プログラミングスクールのWebディレクター兼 ライターを経験
  • 自らも地元密着型のプログラミングスクールを運営
プロフィール詳細はコチラ
忖度一切なし!
受講生から評判の良いプログラミングスクール
スクール
特徴
受講料金
大手比較サイトで4年連続人気NO.1!受講生からの評判も非常に高く、Web系のエンジニアを目指すならRUNTEQ一択。
657,000円
(最大約53万円の給付金が適用される)
月単価80万円以上の現役エンジニア講師による指導!一度入会すればサポートは半永久的。
498,000円
格安で質の高いWeb制作スキルを習得したい人におすすめ!業界最安級の料金でありながら、コミュニティやサポートが充実。
129,800円~
完全無料でプログラミングが学べる貴重なスクール!最短1ヶ月で卒業可能。ゼロスク運営会社への就職もできる。
完全無料
長期間に渡って学習し、希少人材を目指す人に最適なスクール!受講料は高いものの、高収入を得られる人材を目指せる。
96~132万円

Python初心者が作れるもの10選

Python初心者が作れるもの10選

ここでは、初心者がPythonの基礎文法を学んだ後に、比較的少ないコード量で挑戦できる10個の成果物を紹介していきます。

電卓アプリ

四則演算(足し算、引き算など)ができる電卓アプリは、プログラミングの基本的な要素が詰まった良い練習台です。

最初はテキスト入力で計算する簡易的なものから始め、慣れてきたらTkinter(標準ライブラリ)やPySimpleGUIといったGUIライブラリを使い、ボタンで操作できる本格的な電卓アプリに挑戦するのもよいでしょう。

ユーザーからの入力を受け取り、演算子に応じて処理を分岐させるif文や、関数定義(def)のよい実践になります。

Todoリストアプリ

タスクの追加、一覧表示、削除、完了チェックなどができるTodoリストアプリも、初心者向けの定番プロジェクトです。

Todoアプリを作ることで、リスト(配列)データの扱いや、ユーザーインターフェースの構築を学べます。

電卓アプリ同様、GUI版にステップアップできますし、さらにSQLite(標準ライブラリ)を使ってデータをファイルに保存・読み込みする機能を追加すれば、アプリを閉じてもタスクが消えない、より実用的なツールに発展させられます。

Excelで自動化処理を行う

Pythonは、日常の事務作業を自動化するのも得意です。
特にOpenPyXLpandasといったライブラリを使えば、Excel操作の自動化が実現します。

例えば、「複数のExcelファイルを開き、特定のシートの特定セルのデータを抜き出して、新しいExcelファイルに一覧としてまとめる」といった処理が可能です。

手作業で行うと時間のかかるデータ集計や転記作業を自動化できれば、学習成果を仕事で活かせるはずです。

Webスクレイピングツール

Webスクレイピングとは、Webサイトから特定の情報を自動で抽出する技術のことです。
RequestsライブラリでWebページのHTMLデータを取得し、Beautiful Soup 4ライブラリでそのHTMLデータを解析して必要な情報(例:ニュースサイトの見出し一覧、天気予報、株価情報など)を抜き出します。

Webスクレイピングツールを作ることで、Webの仕組みを理解する助けにもなるでしょう。

ただし、実行する際は対象サイトの利用規約を必ず確認し、サーバーに負荷をかけすぎないよう配慮する必要があります。

画像認識プログラム

AI分野も、Pythonが得意とする領域です。

OpenCVPillowといったライブラリを使えば、画像処理の基本を学べますし、TensorFlowKerasといった機械学習ライブラリの力を借りれば、画像に写っているのが「犬」なのか「猫」なのかを判定するような、簡単な画像認識プログラムを作ることも可能です。

AIのコードに触れてみたいという方には、良い入り口となるでしょう。

簡単なゲーム

ゲーム開発は、楽しみながらプログラミングの総合力を鍛えるのに最適です。

最初はターミナル上で遊ぶテキストベースの「数当てゲーム」や「じゃんけんゲーム」から始めるとよいでしょう。

グラフィカルなゲームに挑戦したくなったら、pygameというライブラリを使えば、「ブロック崩し」や「〇×ゲーム」、簡単な横スクロールアクションゲームなども開発範囲に入ってきます。

ゲームループ(while文)、当たり判定(if文)、キャラクター管理(クラス)など、学んだ文法を総動員することになります。

パソコン上で使えるデスクトップアプリ

前述した「電卓」や「Todoリスト」以外にも、Pythonを使えば、パソコン上で動作するデスクトップアプリケーションを色々作ることができます。

例えば、以下のようなアプリです。

  • 指定したフォルダ内の画像を一括でリサイズするツール
  • クリップボードの履歴を管理するツール
  • 簡易的なテキストエディタ

TkinterPySimpleGUIPyQtといったGUIライブラリを使えば、Pythonで実用的なオリジナルツールを作成できます。

スマホアプリ

「せっかくならスマホアプリを作りたい」と考える方もいるかもしれません。

Pythonは、主にWebサービスやAI開発で使われますが、Kivy(キビー)やBeeWare(ビーウェア)といったフレームワークを使えば、PythonのコードでiOSやAndroidのスマホアプリを開発することも不可能ではありません。

ただし、SwiftやKotlinといったスマホアプリ開発に特化した言語と比較すると、情報量や利用できる機能に制約がある点には注意が必要です。

API連携プログラム

多くのWebサービスは、外部のプログラムから機能を利用できるように「API」という窓口を公開しています。
このAPIを利用して、便利な自動化プログラムを作ることも可能です。

例えば、天気予報APIから情報を取得して毎朝LINEに通知する、X(旧Twitter)APIを使って特定のキーワードを含む投稿を自動で収集する、といったことができます。

RequestsライブラリでのHTTP通信や、JSON形式のデータ取り扱いのよい練習になるでしょう。

AI開発

画像認識の項目でも触れましたが、PythonはAI開発の分野で圧倒的なシェアを誇ります。

データ分析ライブラリのpandasNumPy、機械学習ライブラリのscikit-learn、ディープラーニングライブラリのTensorFlowPyTorchなど、強力なツールが揃っています。

しかし、本格的なAI開発には、Pythonの文法知識だけでなく、統計学や線形代数といった数学の知識も必要とされます。
Pythonで作れるものとして「AI」が代表的なものではありますが、初心者がいきなり挑戦するには少々ハードルが高い分野かもしれません。

まずは、ライブラリに付属しているサンプルコードを動かし、その仕組みを少しずつ理解していくことから始めるのが現実的でしょう。

Python初心者が開発する際に必要なものや手順

Python初心者が開発する際に必要なものや手順

Pythonで作りたいもののイメージが湧いたら、次は「開発を始めるための準備」と「一般的な開発の流れ」を把握しておきましょう。

最低限必要なものと、効率的に進めるための手順を解説します。

必要なもの①:Python実行環境

当然ですが、Pythonのプログラムを実行するための「Python本体」が必要です。

使っているパソコンにインストールされていない場合は、Pythonの公式サイトから最新版をダウンロードしてインストールしてください。

現在は「Python 3系」が主流であり、Python 2系はサポートが終了しているため、必ずPython 3系をインストールしましょう。

必要なもの②:コードエディタ

コードエディタは、プログラムのソースコードを記述・編集するためのソフトウェアです。

パソコンに標準でインストールされているメモ帳(Windows)やテキストエディット(Mac)でも記述自体は可能ですが、プログラミング専用のコードエディタか統合開発環境IDEを使う方が格段に効率的です。

現在、初心者にもおすすめなコードエィデタは以下の通りです。

  • Visual Studio Code (VS Code):Microsoft製の高機能かつ軽量なエディタ。拡張機能が豊富で、Python開発環境として事実上の標準となっています。
  • PyCharm Community Edition:Python開発に特化したIDE。コード補完やデバッグ機能が強力です。
  • Google Colaboratory:Webブラウザ上で動作する環境。インストール不要で、AI開発やデータ分析の学習に最適です。

開発の基本的な手順

作りたいものによって詳細は異なりますが、一般的な開発の流れは以下のようになります。

  1. 企画・要件定義
    「何を作りたいのか」「どんな機能が必要か」を明確にします。
  2. 環境構築
    Python本体や、VS Codeなどのコードエディタを準備します。必要に応じてライブラリもインストール(pip install)します。
  3. 設計
    機能を実現するために、どのような処理の流れにするか、どんな関数やクラスが必要かを考えます。
  4. 実装(コーディング)
    実際にコードを書いていきます。最初から完璧を目指さず、「まずは動く」ことを目標に、小さな機能単位で作成と確認を繰り返すのがコツです。
  5. テスト・デバッグ
    プログラムが想定通りに動くかを確認し、問題(バグ)があれば修正します。エラーメッセージを読むことに慣れるのも重要な学習です。

【Python初心者向け】実際のプログラムや成果物の例をサンプルコード付きで紹介

【Python初心者向け】実際のプログラムや成果物の例をサンプルコード付きで紹介

ここでは、これまでに紹介した「作れるもの」の中から、特に初心者でも挑戦しやすい3つの例をピックアップし、実際のサンプルコードと詳しい解説を紹介します。

使っているコードエディタにコピー&ペーストして、まずは動かしてみましょう。

サンプルコード①:シンプルな電卓(CUI版)

ターミナル(コマンドプロンプト)上で動作する、2つの数値と演算子を入力して計算結果を表示するプログラムです。

# CUI電卓プログラム

def calculate(num1, num2, operator):
    """ 2つの数値と演算子を受け取り、計算結果を返す関数 """
    if operator == '+':
        return num1 + num2
    elif operator == '-':
        return num1 - num2
    elif operator == '*':
        return num1 * num2
    elif operator == '/':
        # 0除算のエラーを回避する
        if num2 == 0:
            return "エラー:0で割ることはできません"
        else:
            return num1 / num2
    else:
        return "エラー: + - * / のいずれかの演算子を入力してください"

# プログラムのメイン処理
print("簡易電卓プログラムへようこそ")

try:
    # ユーザーからの入力を受け取る
    num1 = float(input("1つ目の数値を入力してください: "))
    operator = input("演算子 (+, -, *, /) を入力してください: ")
    num2 = float(input("2つ目の数値を入力してください: "))

    # 関数を呼び出して計算実行
    result = calculate(num1, num2, operator)

    # 結果を表示
    print(f"計算結果: {result}")

except ValueError:
    print("エラー:数値を正しく入力してください。")
except Exception as e:
    print(f"予期せぬエラーが発生しました: {e}")

ソースコードの解説

  1. calculate という名前の関数を def で定義しています。この関数が実際の計算処理を担当します。
  2. if/elif/else構文を使い、入力された operator(演算子)の値によって処理を分岐させています。
  3. /(割り算)の場合は、num2 が0でないかを追加でチェックし、0除算エラーを防いでいます。
  4. メインの処理では、input() 関数を使ってユーザーからの入力を受け取っています。
  5. input() で受け取った値は「文字列型」になるため、float() を使って「浮動小数点数型(小数も扱える数値)」に変換しています。
  6. try...except構文を使い、数値以外が入力された場合(ValueError)などにプログラムが強制終了しないよう、エラー処理(例外処理)を行っています。

サンプルコード②:Webスクレイピング

RequestsBeautifulSoup4 ライブラリを使用して、指定したWebサイトのHTMLを取得し、そのページのタイトル(<title>タグの中身)を表示するプログラムです。

※このコードを実行する前に、ターミナルで以下のコマンドを実行してライブラリをインストールする必要があります。 pip install requests beautifulsoup4

# Webスクレイピングでサイトのタイトルを取得する

import requests
from bs4 import BeautifulSoup

def get_website_title(url):
    """ 指定されたURLのWebサイトのタイトルを取得する関数 """
    try:
        # 指定されたURLにHTTPリクエストを送る
        response = requests.get(url)
        
        # リクエストが成功したかチェック (ステータスコード 200)
        response.raise_for_status()

        # 取得したHTMLをBeautifulSoupで解析
        soup = BeautifulSoup(response.text, 'html.parser')

        # <title> タグを探し、その中のテキストを取得する
        if soup.title:
            return soup.title.string
        else:
            return "タイトルが見つかりませんでした。"

    except requests.exceptions.RequestException as e:
        return f"エラー:サイトにアクセスできませんでした。 {e}"
    except Exception as e:
        return f"予期せぬエラーが発生しました: {e}"

# メイン処理
# 情報を取得したいWebサイトのURL
target_url = "
Welcome to Python.org
The official home of the Python Programming Language
(https://www.python.org/)" print(f"{target_url} のタイトルを取得します...") # 関数を呼び出してタイトルを取得 title = get_website_title(target_url) print(f"取得したタイトル: {title}")

ソースコードの解説

  1. import文で、インストールした requestsbs4BeautifulSoup)ライブラリを使えるように読み込んでいます。
  2. requests.get(url) で、指定されたURLにアクセスし、Webサーバーからの応答(レスポンス)を受け取ります。
  3. response.raise_for_status() は、もしアクセスに失敗(404 Not Foundや500 Server Errorなど)した場合にエラーを発生させるための記述です。
  4. response.text には、取得したHTMLデータ(文字列)が格納されています。
  5. BeautifulSoup(response.text, 'html.parser') で、HTMLの文字列を解析し、Pythonで扱いやすいオブジェクト(soup)に変換します。
  6. soup.title.string と記述するだけで、HTML内の <title>......</title> タグに囲まれたテキスト部分を簡単に抜き出すことができます。

サンプルコード③:Tkinterを使ったTodoリストアプリ(GUI版)

Pythonの標準ライブラリである Tkinter を使って、タスクを追加・削除できる簡単なGUIアプリケーションを作成します。

# Tkinterを使ったシンプルなTodoリストアプリ

import tkinter as tk
from tkinter import messagebox

def add_task():
    """ 入力欄のタスクをリストボックスに追加する """
    task = entry_task.get()
    if task != "":
        # リストボックスの末尾 (END) にタスクを追加
        listbox_tasks.insert(tk.END, task)
        # 入力欄をクリアする
        entry_task.delete(0, tk.END)
    else:
        messagebox.showwarning("警告", "タスクを入力してください。")

def delete_task():
    """ リストボックスで選択されているタスクを削除する """
    try:
        # 選択されているタスクのインデックス番号を取得
        task_index = listbox_tasks.curselection()[0]
        # そのインデックスのタスクを削除
        listbox_tasks.delete(task_index)
    except IndexError:
        # 何も選択されていない場合は何もしない (または警告を出す)
        messagebox.showwarning("警告", "削除するタスクを選択してください。")

# --- GUIの作成 ---

# メインウィンドウの作成
window = tk.Tk()
window.title("Todoリストアプリ")

# GUI部品(ウィジェット)の作成
frame_tasks = tk.Frame(window)
frame_tasks.pack()

# タスク一覧表示用のリストボックス
listbox_tasks = tk.Listbox(frame_tasks, height=10, width=50, selectbackground="yellow")
listbox_tasks.pack(side=tk.LEFT)

# スクロールバーの作成
scrollbar_tasks = tk.Scrollbar(frame_tasks)
scrollbar_tasks.pack(side=tk.RIGHT, fill=tk.Y)

# リストボックスとスクロールバーを連携
listbox_tasks.config(yscrollcommand=scrollbar_tasks.set)
scrollbar_tasks.config(command=listbox_tasks.yview)

# タスク入力用のエントリー(入力欄)
entry_task = tk.Entry(window, width=50)
entry_task.pack()

# ボタンの作成(押された時に実行する関数を command で指定)
button_add_task = tk.Button(window, text="タスクを追加", width=42, command=add_task)
button_add_task.pack()

button_delete_task = tk.Button(window, text="選択したタスクを削除", width=42, command=delete_task)
button_delete_task.pack()

# --- GUIの実行 ---

# ウィンドウを表示し、イベント(ボタンクリックなど)を待ち受ける
window.mainloop()

ソースコードの解説

  1. import tkinter as tk で、Tkinterライブラリを tk という短い名前で読み込みます。
  2. add_taskdelete_task という2つの関数を定義しています。これらは、ボタンが押されたときに実行される処理(イベントハンドラ)です。
  3. tk.Tk() で、アプリケーションの土台となるメインウィンドウを作成します。
  4. tk.Frame, tk.Listbox, tk.Scrollbar, tk.Entry, tk.Button といった命令で、GUIの各部品(ウィジェット)を作成しています。
  5. pack() メソッドを使って、作成した部品をウィンドウ内に上から順番に配置しています。(side=tk.LEFTなどで位置調整も可能です)
  6. Buttoncommand=add_task の部分で、そのボタンが押されたら add_task 関数を実行するよう、関連付けを行っています。
  7. window.mainloop() は、作成したウィンドウを表示し、ユーザーからの操作(ボタンクリックやキー入力など)を待ち続けるための、GUIアプリにおけるお決まりの記述です。

初心者がPythonでアプリやゲームを作る時のおすすめな方法

初心者がPythonでアプリやゲームを作る時のおすすめな方法

Pythonの文法を学んだばかりの初心者が、いきなり複雑なアプリやゲームを作ろうとすると、エラーの連続で挫折してしまうことも少なくありません。

ここでは、開発効率を上げ、学習をスムーズに進めるための3つの方法を紹介します。

ライブラリやフレームワークを活用する

プログラミングの世界には「車輪の再発明はするな」という言葉があります。
これは、「すでに誰かが作ってくれた便利な仕組み(=車輪)があるなら、それをありがたく使わせてもらい、自分はもっと重要な部分(=車本体)の作成に集中しよう」という意味です。

Pythonには、WebスクレイピングのBeautifulSoup4や、ゲーム開発のpygameなど、特定の目的のための強力なライブラリやフレームワーク(開発の骨組み)が無数に存在します。

これらを活用することで、複雑な処理を自分でゼロから書く必要がなくなり、短期間で高機能な成果物を作れるようになるでしょう。

ChatGPTなどの生成AIを使う

現在、プログラミング学習において生成AIのサポートを活用しない手はありません。
ChatGPTやGeminiといった生成AIは、プログラミング初心者の強力な「アシスタント」となります。

例えば、「Pythonでファイルに書き込む方法を教えて」「このエラーメッセージの意味は?」といった質問に答えてもらうだけでなく、「この処理をもっと効率的に書くには?」といったコードの改善(リファクタリング)提案にも役立ちます。

ただし、AIの回答が常に正しいとは限りません。
最終的には自分でコードの意味を理解し、判断することが重要です。

プログラミングスクールを利用する

独学での学習は自由度が高い反面、「エラーが解決できない」「何から学べばよいかわからない」「モチベーションが続かない」といった壁にぶつかりがちです。

こういった問題を解決し、初心者の状態からスムーズにPythonでのアプリ開発を進めたい場合は、プログラミングスクールを利用するのが最も有効です。

一定の費用がかかってしまうというデメリットがありますが、その分、独学では得られないような知識や、質の高いアプリ開発が可能となります。

本気でPythonエンジニアを目指すのならば、プログラミングスクールの利用も選択肢の一つでしょう。

なお、Pythonに強いプログラミングスクールについては、以下の記事で詳しくまとめていますので、興味のある方は是非参考にしてください。

まとめ

以上、Python初心者が基礎文法を学んだ後に挑戦できる「作れるもの」の例を10個、具体的なサンプルコードと共に紹介しました。

プログラミング学習において最も重要なのは、知識をインプットするだけでなく、「実際に手を動かして何かを作り、完成させる」というアウトプットの経験です。

この記事で紹介したサンプルコードを参考に、まずは小さなプログラムでも構わないので、自分なりの「成果物」を完成させてみてください。

Follow me!

PAGE TOP