2020年2月から開始した Pythonプログラミングブートキャンプ、30%(Day100中 Day30)が完了しましたのでまとめておきます。
早いもので、開始宣言から3ヶ月が過ぎようとしています。仕事やプライベートの都合で毎日取組みができていなくてまだまだかかりそうです。
取組中のPythonプログラミングブートキャンプ講座
Udemyの講座「100 Days of Code – The Complete Python Pro Bootcamp for 2021」です。
Pythonプログラムをがっつりと学べます。言語は英語です。
Day30までにかかった時間
時間が、どんどん
過ぎていく。
約70時間です。
1つのセクションで2時間強かかっている計算ですね。
動画解説で1時間、実際に手を動かしプログラミングで2時間といった実績ですね。
睡眠時間を確保するため、1日30分~1時間くらいしか時間がとれずになかなか進みません。
Day30までで学んだこと
ざっくりとまとめておきます。
基礎的な内容
他のプログラミング言語でも学ぶ基本的な内容をPythonで学びました。
既に知っていることが多かったですが、自分のレベルが低いので復習も兼ねて良かったと思います。
1.分岐(if)
2.ループ(while、for)
3.リスト・ディクショナリ
4.関数
5.クラス
6.外部ファイル扱い(with open)
7.エラー処理(try except)
ただ単にプログラミング(構文)を学ぶだけだと、実感がわかないため、様々なゲームを作成しつつ学習できるのがこの講座の良い所ですね。
例)オークションゲーム ※ループやリストの処理を使っています。
画面描写ライブラリ(Turtle)
Turtleという画面描写ライブラリを学びました。
turtle — Turtle graphics — Python 3.9.5 documentation
例えると、私が子供の頃(小学校~中学校)で触っていたBASICの強化版ですね。
線や円を描いたりできます。
応用することでピンポンゲームやスネークゲームなどが作れました。
個人的に好きだったのが以下、カメが道路を渡るゲーム。
例)カメが道路を渡るゲーム
データ分析ライブラリ(Pandas)
Pythonを学ぶものなら一度は聞いたことがあるPandas、やはり序盤で学びました。
あくまでデータを整形(csvを表形式にしたり)程度でしたが、かなり便利だと感じました。
User Guide — pandas 1.2.4 documentation (pydata.org)
以前に機械学習を勉強した時にもでてきましたね。
csvファイルをPythonの辞書型に変換して、プログラムから活用しやすくしてゲーム作成に活用したりしました。
例)アメリカの州あてゲーム
GUIライブラリ(Tkinter)
Tkinterを利用することで、アプリ画面を手軽に作ることができそうな感触を得ました。
キャンバス、ボタン、入力フォームなどをポンポンと配置していく感じにプログラミングします。
このあたりから、UIプログラムと機能プログラムが分かれてきます。
例)タイマーアプリ
トマトがモチーフの
タイマーアプリ。
Kawaii^^
UIプログラミングのコードサンプル↓
# ---------------------------- UI SETUP ------------------------------- #
window = Tk()
window.title("Pomodoro")
window.config(padx=200, pady=200, bg=YELLOW)
#Timer Label
timer_label = Label(text="Timer", font=(FONT_NAME, 40, "bold"), bg=YELLOW, fg=GREEN)
timer_label.grid(column=1, row=0)
#Tomato Canvas
tomato_canvas = Canvas(width=200, height=224, bg=YELLOW,
highlightthickness=0)
tomato_img = PhotoImage(file="tomato.png")
tomato_canvas.create_image(100, 112, image=tomato_img)
timer_text = tomato_canvas.create_text(100, 130, text="00:00", fill="white",
font=(FONT_NAME, 35, "bold"))
tomato_canvas.grid(column=1, row=1)
#Start Button
start_button = Button(text="Start", command=start_timer)
start_button.grid(column=0, row=2)
まとめ
1.Pythonプログラミング ブートキャンプを30%(Day30まで)進めました。
2.30%進めるのに70時間くらいかかっており、結構ハードだと感じています。
3.基礎的な内容、いくつかのメジャーなライブラリ(Turtle、Pandas、Tkinterなど)を、ゲーム作成などを通して学習しました。
さあ、次のステップへ進もう。
コメント