Python CLI Todo リスト マネージャー

完全に機能するコマンドライン Todo リスト マネージャーを Python で作成します。関数をコマンドにマッピングし、配列を管理し、状態を処理する方法を学びます。

エディターで試してみる

概要

コマンドライン アプリケーション (CLI) は、開発者ツールのバックボーンを形成します。

このスクリプトはメモリ内のタスクのリストを維持し、タスクを表示、追加、完了するためのメニュー アプローチを提供します。

このアーキテクチャは、データ (リスト) を対話 (関数) から分離することで、プリミティブなモデル ビュー コントローラー (MVC) パターンを模倣します。

コードと実行の出力

リストの変更を示す単純なメモリ内タスク マネージャー。

class TodoApp:
    def __init__(self):
        self.tasks = []
        
    def add_task(self, task):
        self.tasks.append({"title": task, "done": False})
        print(f"Added: '{task}'")
        
    def complete_task(self, index):
        if 0 <= index < len(self.tasks):
            self.tasks[index]["done"] = True
            print(f"Completed: '{self.tasks[index]['title']}'")
            
    def view_tasks(self):
        print("\n--- Your Tasks ---")
        for i, task in enumerate(self.tasks):
            status = "[x]" if task["done"] else "[ ]"
            print(f"{i}. {status} {task['title']}")
        print("------------------\n")

app = TodoApp()
app.add_task("Learn Python basics")
app.add_task("Build a portfolio project")
app.view_tasks()

app.complete_task(0)
app.view_tasks()
端子出力
Added: 'Learn Python basics'
Added: 'Build a portfolio project'

--- Your Tasks ---
0. [ ] Learn Python basics
1. [ ] Build a portfolio project
------------------

Completed: 'Learn Python basics'

--- Your Tasks ---
0. [x] Learn Python basics
1. [ ] Build a portfolio project
------------------

段階的な実装

  • タスク管理ユーティリティ
  • オブジェクト指向状態管理の演習
  • 堅牢なサーバーレス機能のためのビルディングブロック

よくある質問

タスクを永久に保存するにはどうすればよいですか?

データを保持するには、Python の組み込み `json` モジュールを使用して self.tasks リストをファイル (tasks.json など) に書き込み、それを `__init__` 中にロードします。

関連トピック