見出し画像

[プログラミング]独学でも最短でしっかり身につく勉強法[python]

「プログラミングをどうやって身につけるか?」

「それも最短で」

と考える人は多いと思います。ここでは私が実際にやってみた勉強法を一つご紹介します。連休中に実践してみてはいかがでしょうか?

今回のテスト環境:python3.9.12

①まずは教科書のコードを理解

 内容はどんなものでもいいのですが、まずは教科書、例題、webサイトのソースコードを読むことからはじめてみます。
 例題として、このような例外を処理する文があったとします。

try:
    num = 10 / 0
except ZeroDivisionError:
    print('0で割っています。0で割ることはできません')
else:
    print(f'除算結果は{num}です')

 数字を0で割ると例外「ZeroDivisionError」が送出され、except節のprint文が実行されます。上記のコードを実行すると「'0で割っています。0で割ることはできません'」という結果となります。

②コードを変更してみる

 ここまで理解できましたら、次にコードを変更してみます。
 この場合は割り切れればelse節が実行されますので、10/0→10/2に変更して結果を確認します。

try:
    num = 10 / 2
except ZeroDivisionError:
    print('0で割っています。0で割ることはできません')
else:
    print(f'除算結果は{num}です')

→「除算結果は5.0です」と表示されます。

さらに以下のような変更を続けます。

try:
    num = 10 / 0

except ZeroDivisionError:
    print('0で割ることはできません')
# 追加したコード
except TypeError:
    print('文字列で割れません')
else:
    print(f'除算結果は{num}です')
# 追加したコード
finally:
    print('計算終了')

except節にTypeError、finally節を追加しました。
TypeErrorは演算ができなかったときによく送出されます。例えば「数字を文字列で割ったとき」などに送出されます。
finally節は例外が発生してもしなくても実行されます。

# 文字列で割る
try:
    num = 10 / '2'

except ZeroDivisionError:
    print('0で割ることはできません')
except TypeError:
    print('文字列で割れません')
else:
    print(f'除算結果は{num}です')
finally:
    print('計算終了')

結果は「文字列で割れません」が表示され、最後にfinally節が実行されるため、「計算終了」が表示されます。

③「能動的学習」を継続すること

 このようにテキストに書かれているコードを理解するだけではなく、構文を追加したり、数字を文字列にしたり、変数を変更したりすることでプログラミングへの理解を深めることができます。

 大切なことはこれを継続すること。常に意識をして実践するとプログラミングの応用力が自然に身につくはずです。

 学校などでは「アクティブラーニング」と呼ばれる手法が注目されていますが、能動的、主体的に学ぶことが大切だと思います。ぜひお試しください。

 下記書籍には良質なコードたくさんあります。今回も参考にしました。


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