鉄は熱いうちに打て
=============================
PyLadies Tokyo Meetup #40 Python入学式¶
2019-04-13
今日は、4月のPyLadies Tokyoのイベント、 PyLadies Tokyo Meetup #40 Python入学式 に参加しました。
たくさんの方に出会えました。
LTの応募が少なかったので、予備のLTを作っていました。 結局、募集したら飛び込みLTがあったのでやりませんでした。
せっかく作ったのでブログに貼っときます。 本当に発表するなら現地で仕上げようと思っていたので、若干、適当です。
今日はちゃんと予習してきた人がほとんどだったので、サポートも楽ちんでした。 次は5月です。がんばります。
はじめの頃に読む本とかにあまり書いてないけど、大事なこと¶
エラーを読もう¶
これ実行すると、失敗します。どこが悪いでしょうか?
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ライフを!