【進捗報告 Day30】100 Days of Code – The Complete Python Pro Bootcamp for 2021【Udemy講座】

IT

2020年2月から開始した Pythonプログラミングブートキャンプ、30%(Day100中 Day30)が完了しましたのでまとめておきます。

早いもので、開始宣言から3ヶ月が過ぎようとしています。仕事やプライベートの都合で毎日取組みができていなくてまだまだかかりそうです。

取組中のPythonプログラミングブートキャンプ講座

Udemyの講座「100 Days of Code – The Complete Python Pro Bootcamp for 2021」です。

100 Days of Code: The Complete Python Pro Bootcamp
Master Python by building 100 projects in 100 days. Learn data science, automation, build websites, games and apps!

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を利用することで、アプリ画面を手軽に作ることができそうな感触を得ました。

tkinter --- Tcl/Tk の Python インターフェース
ソースコード: Lib/tkinter/__init__.py tkinter パッケージ ("Tk インターフェース") は、 Tcl/Tk GUI ツールキットに対する標準の Python インターフェースです。 Tk と tkinter は macOS を含むほとんどの Unix プラットフォームの他、 Wind...

キャンバス、ボタン、入力フォームなどをポンポンと配置していく感じにプログラミングします。
このあたりから、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など)を、ゲーム作成などを通して学習しました。

さあ、次のステップへ進もう。

コメント

タイトルとURLをコピーしました