3.50歳のノンプログラマーのおじさんがAIの力を借りて自分専用の生成AIを開発する話〜第3話
第3話: Pythonやってみよう!(その1)
サブタイトル:Python初心者の迷子日記とKITTのナビゲーション
前回のあらすじ
KITTプロジェクトがスタートして、いよいよプログラムを書く段階に突入!でもプログラミングって何? どうやるの?初心者の私には未知の領域。そこで登場したのが「Python(パイソン)」です。今回は、その基礎の基礎から学びながら、初めてのコードを書いていきます!
その1:出発前の準備
KEN: さてKITT、プログラムってどうやって書くの?
KITT: プログラムは、命令を「コード」という形で書いて、コンピュータに実行させるものです。最初にPythonを使ってみましょう!
KEN: えっ、Python?蛇のこと?
KITT: いえいえ、プログラミング言語の名前です(笑)。初心者に優しい言語ですよ。
1. Pythonとは何か?
名前の由来と特徴
Pythonは名前だけ聞くと「蛇」を思い浮かべる方も多いかもしれませんが、実はコメディ番組『モンティ・パイソン』が由来。軽快でユーモアのある言語にしたいという開発者の想いが込められています。
簡潔でわかりやすい構文: プログラミング初学者でも扱いやすい。
多用途: Web開発、データ解析、AIなど幅広く使われている。
大きなコミュニティ: 困ったときは検索すれば誰かが答えてくれる!
Pythonの強み
Pythonは「仕事を効率よくするツール」ともいえます。例えば、KITTの頭脳部分の開発には、Pythonのライブラリ(便利な機能をまとめたもの)を利用して高度なAIを構築できます。
その2:環境構築の迷子
KEN: ふむ、Pythonが便利なのはわかった。でもどうやって使うの?
KITT: まず「仮想環境」を作りましょう。それがないとプロジェクトが混ざって大変なことになります。
KEN: 仮想環境?なんか難しそう…。
KITT: ご心配なく!一緒に進めていきましょう。
2. Python環境を整える:仮想環境の作り方
Pythonには「仮想環境」という便利な仕組みがあります。これを使えば、プロジェクトごとに独立した環境を作ることができます。
手順:仮想環境の構築
仮想環境を作成
python3 -m venv kitt_env
「kitt_env」という名前で仮想環境を作成しました。
仮想環境を有効化
仮想環境を使うには、以下を実行します:
source kitt_env/bin/activate
プロンプトに(kitt_env)と表示されれば成功です!
仮想環境を無効化 作業が終わったら以下で終了します:
deactivate
3. 混乱ポイント:ターミナル作業環境の罠
MacターミナルとPiの関係性
SSH接続: Macのターミナルからラズパイにアクセスするための仕組み。これでラズパイ上で作業が可能になります。
接続コマンド:
ssh pi@<ラズパイのIPアドレス>
仮想環境の利用: SSH接続後に仮想環境を有効化し、Pythonコードを実行します。
初心者が混乱するポイント
Mac上のPython環境とラズパイ上の環境の混同:
Mac上: python3を使う。
ラズパイ上: SSHで接続後、sourceコマンドを使って仮想環境を有効化。
4. 初めてのPythonプログラム
Hello, World!を試してみる
以下の手順で、初めてのPythonプログラムを作ります。
ファイルを作成:
nano hello.py
以下を記入:
print("Hello, World!")
2.プログラムを実行:
python3 hello.py
5. 応答プログラムを作ってみる
KITTらしい会話をするプログラムを作りましょう!
コード例
user_input = input("あなた: ")
if user_input == "こんにちは":
print("KITT: こんにちは!元気ですか?")
elif user_input == "お疲れ様":
print("KITT: 少し休憩しませんか?")
else:
print("KITT: 他に聞きたいことはありますか?")
実行方法
1.ファイルを作成:
nano simple_chat.py
2.実行:
python3 simple_chat.py
その3:やってみた感想
KEN: すごい!KITTが返事してくれた!でも応答がちょっとぎこちないね。
KITT: これからもっとデータを追加し、自然な会話ができるよう改善していきましょう!
6. 次回予告
次回は「Pythonやってみよう!(その2)」です。会話プログラムを改良して、もっと「KITTらしい」応答を目指します。また、AI応答を支える技術の解説にも触れます。