鉄は熱いうちに打て
=============================

PyLadies Tokyo Meetup #40 Python入学式

2019-04-13

今日は、4月のPyLadies Tokyoのイベント、 PyLadies Tokyo Meetup #40 Python入学式 に参加しました。

たくさんの方に出会えました。

LTの応募が少なかったので、予備のLTを作っていました。 結局、募集したら飛び込みLTがあったのでやりませんでした。

せっかく作ったのでブログに貼っときます。 本当に発表するなら現地で仕上げようと思っていたので、若干、適当です。

今日はちゃんと予習してきた人がほとんどだったので、サポートも楽ちんでした。 次は5月です。がんばります。

はじめの頃に読む本とかにあまり書いてないけど、大事なこと

2019.04.13 Kameko

エラーを読もう

これ実行すると、失敗します。どこが悪いでしょうか?

pyramid.py

def show_pyramid(num):
    if num > 0:
        for n in range(num):
            print('*'*n)
    else:
        for n in range(abs(num), 0, -1):
            print('*'*(n-1))


def main():
    show_pyramid(10)

    show_pyrami(-10)


if __name__ == '__main__':
    main()

エラーを読もう

エラーはこんなのです。

$ python3 pyramid.py
*
**
***
****
*****
******
*******
********
*********
Traceback (most recent call last):
File "pyramid.py", line 17, in <module>
     main()
File "pyramid.py", line 12, in main
    show_pyrami(-10)
NameError: name 'show_pyrami' is not defined

エラーを読もう

一番下を見よう。

NameError: name 'show_pyrami' is not defined

エラーはだいたい英語です。

「'show_pyrami'が、定義されてない」

2行上を見よう

File "pyramid.py", line 12, in main

「ファイル "pyramid.py" の12行目のmain」

1行下を見よう

show_pyrami(-10)

関数名の最後の「d」がない!!

エラーを読もう

エラーを読んだら、効率いいかも!!

エラーは除法の宝庫なので読みましょう!!

エラー読まずに先輩に「なんか動かないんですけど!」とか言うのは止めようね。

嫌われます

「エラーにXXXって書いてあったんですが、解決できないんですが教えてもらえませんか?」

は、オッケー!!

ログを設定しよう

大半のプログラミングって、毎回手動で動かさない。。。

自動で動いています

  • 自動で動いているのにうまく行かない?
  • どこが悪かったの?
  • なんのせい???

ログがあるとわかる

ログは情報の宝庫!

  • 発生時刻
  • 発生ファイル
  • 発生したときのエラー
  • 使ってた情報

詳しくは、 Logging HOWTO — Python 3.7.3 ドキュメント をみてね。

テストを書こう

テストを書くといいことある

特に修正したときに役に立つ

初めて実装したときにテストを書いておけば、修正したときに修正した以外の部分は動いている事がわかる!

できれば、テストから書くとなお良い!

詳しくは、 Pythonでの単体試験とハンズオン をみてね。

余裕が出たら早めにやっていくといいものの話でした

  • エラーを読む
  • ログを出力する
  • テストを書く

よきPythonライフを!