見出し画像

【開始4日目】プログラミング学び日記_Python

学んだこと

 じゃんけんゲームと料理注文システムのプログラムの復習がメインだったが、何度かやることで理解が深まってきた。関数やクラスについて、まだまだ理解できていないことが多かったことを痛感。以下に再度まとめ直してみる。

 (関数について)関数の仮引数は、その関数で何を変数にしたいかによって決められ、自由度がかなり高い。名前と性別と年齢を変数にしたければ、name, gender, ageみたいな仮引数を作ればよく、その後の文でそれらをどう動かすか決める。また、結果をprintするケースとreturnするケースがあったが、モジュール化することを考えるとreturnしておいた方が、プログラム本文で出力内容が追いやすくなって良さそうだと感じた。

 (クラスについて)クラスの中にあるインスタンスメソッドをdefで定義する際、selfを第1引数にする理由は、そうすることでメソッドに対してインスタンス変数が代入されるため。インスタンスは(メソッドが入った)クラスを大元にして生成しており、selfでメソッドと繋げられ、インスタンスに入れた情報(インスタンス変数)をメソッドに流し込める、というイメージを持った。

また、クラスをモジュール化した場合、「from モジュール名 import クラス名」で読み込むことで、「モジュール名.インスタンス名.関数名」とせず、これまで通り「インスタンス名.関数名」で使える。


 (__init__について)インスタンスを生成した直後に自動で処理を実行できるメソッドで、インスタンス変数を仮引数に設定しておくと、いちいち「インスタンス名.変数名 = ○○」のように情報入力する必要がなくなって便利。

def __init__(self, name, gender, age):
             self.name = name
             self.gender = gender
             self.age = age

としておくと、インスタンスを生成する際に

インスタンス名 = クラス名('田中太郎', '男', '30')

と記載すれば自動でインスタンス変数が設定されるイメージ。

疑問として残っていること

本日は疑問解消に充てたため一旦なし
ProgateのPythonコースが週末時間で終わりそうなため、今後の学習計画どうするかが一旦の悩み(?)

今日の学び時間

合計:230分
・始業前にProgate(20分)
・通勤時にProgate(往復80分)
・終業後にProgate(100分)
・本記事の執筆時間(30分)

★アプリ版ProgateもコースⅣまで1周できた
★PC版ProgateはコースⅣまでは2周以上した


これまで修了したコース

Progate Python Ⅰ~Ⅳ
Progate SQL Ⅰ~ Ⅳ
Progate HTML&CSS 初級編
Progate Python アプリ版 コースⅠ~Ⅳ

この記事が気に入ったらサポートをしてみませんか?