コピペって、めちゃくちゃ便利ですよね!
でも、似たような命令を何度も書くとき、しかもちょっとずつ違う数字や条件だったりすると…手で書くのは本当にしんどい!間違いも増えるし。
そんな時に大活躍なのが「関数」です。「この処理はまとめておいて、必要なときに呼び出そう!」って、まるで料理のレシピみたいに使えます。
あと、プログラマーあるあるの怖い話。「無限ループ」です。
例えば、「私は0歳です」から「私は100歳です」って1歳ずつ増やして表示したいのに、数字を増やすのを忘れてずっと「私は0歳です」と繰り返してしまう。画面いっぱいに文字が溢れ出て止まらなくなるんです。
そんな時はもう、Ctrl+Cで強制ストップするか、もしくはウィンドウをぶっ叩いて閉じるしかない!本当にこれしかないんですよ!
プログラミングはミスしても大丈夫。むしろ、そういう経験が力になりますよ。
フォームでコードを実行してたけど、今度は「自分のパソコンで動かす」方法。
準備するもの:
1. VSC をインストールする
2. Python をインストールする(PATHに追加)
3. VSCのターミナルで python と入力して起動確認
4. .py ファイルを書いて、Python で実行!
5. これ以降の内容はローカルに作成できた環境で実行しましょう!
Pythonにモジュール(追加の道具)をインストールするためのコマンド。
スマホのアプリストアみたいなもので、追加機能が使えるようになる。
pip install tkinter
これで GUI に必要な部品が使えるようになる。
GUI = グラフィックユーザーインターフェイス。
これは今まで使ってきた「黒い画面(CUI)」とは違って、ボタンや入力欄、画像などがある“見た目のあるアプリ”のこと。
step1でも少し出てきましたが、私たちが普段触っているアプリやWebサイトはほとんどがGUIです。
GUIでは「マウスでクリックする」「文字を入力する」など、視覚的に操作できるのが特徴です。
tkinter は、PythonでGUIアプリを作るための標準機能。
以下のコードで、シンプルなウィンドウと文字を表示できます。
import tkinter as tk
root = tk.Tk() # ウィンドウを作る
root.title("Hello GUI") # タイトルを設定
label = tk.Label(root, text="こんにちは!")
label.pack() # ラベルを表示する
root.mainloop() # ウィンドウを閉じずに待機
root
がウィンドウの土台、mainloop()
が「閉じずに待機し続ける」処理です。
処理をひとまとめにする「関数」の定義方法。
レシピみたいなもの。
例えばカレーを作る時:
この一連の流れを 野菜を切る()
って関数でまとめておけば、他の料理にも応用できるし何回でも使える!
def tashizan(a, b):
return a + b
print(tashizan(5, 3)) # → 8
関数に名前を付けて定義して、呼び出すだけで中身を実行できる。
ボタンを押すとラベルの内容が切り替わる処理も、関数で書いてスッキリ!
label = tk.Label(root, text="")
label.pack()
def say_hello():
label.config(text="こんにちは!")
btn = tk.Button(root, text="あいさつ", command=say_hello)
btn.pack()
config()
は「表示内容の更新」をしてくれる便利な命令。
random を使えばランダムで結果を切り替えることもできる。
import random
hands = ["グー", "チョキ", "パー"]
result = random.choice(hands)
label = tk.Label(root, text="")
label.pack()
def play():
label.config(text=result)
btn = tk.Button(root, text="じゃんけん!", command=play)
btn.pack()
このアプリは「GUIでロジックを組む」「状態を管理する」など、学習の集大成になります!
コードレビュー希望者はファイル提出してくれたら、読みやすさ・改善点・工夫ポイントを一緒にチェックできます✨