【進捗報告 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
Welcome to the 100 Days of Code - The Complete Python Pro Bootcamp, the only course you need to learn to code with Python. With over 500,000 5 STAR reviews and ...

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をコピーしました