SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
The Zen of Python
Jun-ya HASEBA
What is Python?
• Guido van Rossumによって開発されたオブジェク
ト指向スクリプト言語。
• 教育用を意図して開発された言語ではないが、その
特徴から教育に用いられることも多い。
• 標準で豊富なライブラリが用意されており、プログ
ラミングを強力にサポートしてくれる。
The Zen of Python
• Tim Petersによって書かれた、Pythonの基本的な考
え方をまとめた全19条の指針。
• Pythonインタプリタ上で import this と入力す
れば、その内容をいつでも確認できる。
• 絶対のルールというわけではないが、プログラミン
グの際には頭の片隅に置いておきたい。
1. Beautiful is better than ugly.
• 【訳】きたないのよりきれいな方がいい。
• 書いたあと、誰にも読まれることのないプログラム
は存在しない。
• ほかの人のために、そして未来の自分のために綺麗
なプログラムを書こう。
2. Explicit is better than implicit.
• 【訳】ごちゃごちゃ難しいのより、白黒はっきりし
てるのがいい。
• プログラム中の変数、関数、クラス、パッケージ…
などには、意味が明確にわかる名前をつけよう。
• キラキラ変数名をつけるのはやめよう。
3. Simple is better than complex.
• 【訳】めんどうなのよりかんたんな方がいい。
• 簡単なことは簡単に書こう。
• 格好をつけてアクロバティックな書き方をするのは
やめよう。
4. Complex is better than complicated.
• 【訳】けど、訳分かんなくなるくらいならめんどう
な方がまし。
• 複雑なことを簡単に書こうとして、逆に意味が伝わ
りづらくなっていないだろうか?
• わかりづらかったり、ほかの部分に悪影響が出たり
するのであれば、別に無理をする必要はない。
5. Flat is better than nested.
• 【訳】ネストさせなくていいならしない方がいい。
• ネストが深くなってしまう場合、プログラムの構造
を見直すべきかもしれない。
• 「ネストって何?」と疑問に思った人は、後期の授
業で先生に質問すればきっと丁寧に教えてもらえる
よ!
6. Sparse is better than dense.
• 【訳】たくさん詰め込んだのよりスカスカな方がい
い。
• プログラムには適度に空行を入れよう。
• たくさんの処理を1行に詰め込むのはやめよう。
• このスライドにもZenの考え方を取り込み、あえて
スカスカに作ってあります。
7. Readability counts.
• 【訳】読みやすさがたいせつなのよ。
• Pythonではプログラムの読みやすさが特に重要視さ
れる。
• ほかのメリットを追求するあまり、読みやすさを損
ねてしまわないように気をつけよう。
8. Special cases aren't special enough to break the rules.
9. Although practicality beats purity.
• 【訳】特別なこともあるけど掟破りってほどじゃな
い。実用性を求めてくと、ちょっとはずれちゃうこ
ともあるけどね。
• その特別扱いが本当に必要なことかどうか、もう一
度よく考えてみよう。
• もし本当に必要なのであれば、特別扱い自体は別に
悪いことではない。
10. Errors should never pass silently.
11. Unless explicitly silenced.
• 【訳】わざとそうしてるんじゃない限り、エラーを
だまって通すようなことがあっちゃいけません。
• 例外処理は不祥事を隠すための仕組みではない。
• 「例外処理って何?」と疑問に思った人は、後期の
授業で先生に質問すればきっと丁寧に教えてもらえ
るよ!
12. In the face of ambiguity, refuse the temptation to guess.
• 【訳】あいまいなことをてきとーに処理しちゃいけ
ません。
• 思い込みや決めつけで処理をしてはいけない。
• あなたのプログラムを使う人は、あなたが思いもよ
らなかったような操作を平気で行うということを肝
に銘じておこう。
13. There should be one - and preferably only one - obvious way to do it.
14. Although that way may not be obvious at first unless you're Dutch.
• 【訳】間違えようのないやり方がひとつだけあるの
がいいね。オランダ人以外には、ちょっと分かりに
くかったりしてもね。
• There’s Only One Way To Do It.
• いくら同じ書き方になるからといって、ほかの人の
課題の答えを丸写しにして提出するのはやめよう。
15. Now is better than never.
16. Although never is often better than *right* now.
• 【訳】やらないよりは今やるべき。けど今「すぐ」
やるならやんない方がいいこともある。
• 面倒だからといって後回しにするのはやめよう。で
も、行動に移すのはよく考えてから。
• 慎重かつ大胆に。
17. If the implementation is hard to explain, its a bad idea.
18. If the implementation is easy to explain, it may be a good idea.
• 【訳】作るものをうまく説明できないようならそれ
はボツ。うまく説明できたらたぶんそれがグッド。
• ほかの人に上手く説明できないことは、自分も完全
には理解できていない。
• たとえ複雑な処理であっても、やりたいことの本質
は簡単に説明できるはず。
19. Namespaces are one honking great idea - lets do more of those!
• 【訳】ぶらぼーなアイディア名前空間、やっぱこれ
ですね。
• 名前空間はPythonの仕組みを支える考え方。
• 「名前空間って何?」と疑問に思った人は、後期の
授業で先生に質問すればきっと丁寧に教えてもらえ
るよ!
A list of references
• PEP 20 -- The Zen of Python | Python.org

http://www.python.org/dev/peps/pep-0020/
• The Zen of Python(日本語訳)

http://www.python.jp/Zope/articles/misc/zen
• エキスパートPythonプログラミング

http://www.amazon.co.jp/dp/4048686291
• 空飛ぶモンティ・パイソン

http://www.amazon.co.jp/dp/B000X431A4
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

新人教育と(Javaと)Python
新人教育と(Javaと)Python新人教育と(Javaと)Python
新人教育と(Javaと)Python7pairs
 
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Tatsuya Shinozuka
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Hironori Sekine
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Ai Makabi
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方Takesxi Sximada
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17Shinya Okano
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5Takeshi Akutsu
 
RaspberryPiとawsで取組んだ自作IoT
RaspberryPiとawsで取組んだ自作IoTRaspberryPiとawsで取組んだ自作IoT
RaspberryPiとawsで取組んだ自作IoTSaito5656
 
トークイベントいろいろ
トークイベントいろいろトークイベントいろいろ
トークイベントいろいろ高見 知英
 
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016Kei IWASAKI
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。KyutatsuNishiura
 

Mais procurados (20)

Why python
Why pythonWhy python
Why python
 
Why python
Why pythonWhy python
Why python
 
新人教育と(Javaと)Python
新人教育と(Javaと)Python新人教育と(Javaと)Python
新人教育と(Javaと)Python
 
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
S01 t0 orientation
S01 t0 orientationS01 t0 orientation
S01 t0 orientation
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
S05_T0_orientation
S05_T0_orientationS05_T0_orientation
S05_T0_orientation
 
191030 anna-with-python
191030 anna-with-python191030 anna-with-python
191030 anna-with-python
 
RaspberryPiとawsで取組んだ自作IoT
RaspberryPiとawsで取組んだ自作IoTRaspberryPiとawsで取組んだ自作IoT
RaspberryPiとawsで取組んだ自作IoT
 
トークイベントいろいろ
トークイベントいろいろトークイベントいろいろ
トークイベントいろいろ
 
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。
 
S03 t0 get_started
S03 t0 get_startedS03 t0 get_started
S03 t0 get_started
 

Último

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 

Último (12)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

The Zen of Python

  • 1. The Zen of Python Jun-ya HASEBA
  • 2. What is Python? • Guido van Rossumによって開発されたオブジェク ト指向スクリプト言語。 • 教育用を意図して開発された言語ではないが、その 特徴から教育に用いられることも多い。 • 標準で豊富なライブラリが用意されており、プログ ラミングを強力にサポートしてくれる。
  • 3. The Zen of Python • Tim Petersによって書かれた、Pythonの基本的な考 え方をまとめた全19条の指針。 • Pythonインタプリタ上で import this と入力す れば、その内容をいつでも確認できる。 • 絶対のルールというわけではないが、プログラミン グの際には頭の片隅に置いておきたい。
  • 4. 1. Beautiful is better than ugly. • 【訳】きたないのよりきれいな方がいい。 • 書いたあと、誰にも読まれることのないプログラム は存在しない。 • ほかの人のために、そして未来の自分のために綺麗 なプログラムを書こう。
  • 5. 2. Explicit is better than implicit. • 【訳】ごちゃごちゃ難しいのより、白黒はっきりし てるのがいい。 • プログラム中の変数、関数、クラス、パッケージ… などには、意味が明確にわかる名前をつけよう。 • キラキラ変数名をつけるのはやめよう。
  • 6. 3. Simple is better than complex. • 【訳】めんどうなのよりかんたんな方がいい。 • 簡単なことは簡単に書こう。 • 格好をつけてアクロバティックな書き方をするのは やめよう。
  • 7. 4. Complex is better than complicated. • 【訳】けど、訳分かんなくなるくらいならめんどう な方がまし。 • 複雑なことを簡単に書こうとして、逆に意味が伝わ りづらくなっていないだろうか? • わかりづらかったり、ほかの部分に悪影響が出たり するのであれば、別に無理をする必要はない。
  • 8. 5. Flat is better than nested. • 【訳】ネストさせなくていいならしない方がいい。 • ネストが深くなってしまう場合、プログラムの構造 を見直すべきかもしれない。 • 「ネストって何?」と疑問に思った人は、後期の授 業で先生に質問すればきっと丁寧に教えてもらえる よ!
  • 9. 6. Sparse is better than dense. • 【訳】たくさん詰め込んだのよりスカスカな方がい い。 • プログラムには適度に空行を入れよう。 • たくさんの処理を1行に詰め込むのはやめよう。 • このスライドにもZenの考え方を取り込み、あえて スカスカに作ってあります。
  • 10. 7. Readability counts. • 【訳】読みやすさがたいせつなのよ。 • Pythonではプログラムの読みやすさが特に重要視さ れる。 • ほかのメリットを追求するあまり、読みやすさを損 ねてしまわないように気をつけよう。
  • 11. 8. Special cases aren't special enough to break the rules. 9. Although practicality beats purity. • 【訳】特別なこともあるけど掟破りってほどじゃな い。実用性を求めてくと、ちょっとはずれちゃうこ ともあるけどね。 • その特別扱いが本当に必要なことかどうか、もう一 度よく考えてみよう。 • もし本当に必要なのであれば、特別扱い自体は別に 悪いことではない。
  • 12. 10. Errors should never pass silently. 11. Unless explicitly silenced. • 【訳】わざとそうしてるんじゃない限り、エラーを だまって通すようなことがあっちゃいけません。 • 例外処理は不祥事を隠すための仕組みではない。 • 「例外処理って何?」と疑問に思った人は、後期の 授業で先生に質問すればきっと丁寧に教えてもらえ るよ!
  • 13. 12. In the face of ambiguity, refuse the temptation to guess. • 【訳】あいまいなことをてきとーに処理しちゃいけ ません。 • 思い込みや決めつけで処理をしてはいけない。 • あなたのプログラムを使う人は、あなたが思いもよ らなかったような操作を平気で行うということを肝 に銘じておこう。
  • 14. 13. There should be one - and preferably only one - obvious way to do it. 14. Although that way may not be obvious at first unless you're Dutch. • 【訳】間違えようのないやり方がひとつだけあるの がいいね。オランダ人以外には、ちょっと分かりに くかったりしてもね。 • There’s Only One Way To Do It. • いくら同じ書き方になるからといって、ほかの人の 課題の答えを丸写しにして提出するのはやめよう。
  • 15. 15. Now is better than never. 16. Although never is often better than *right* now. • 【訳】やらないよりは今やるべき。けど今「すぐ」 やるならやんない方がいいこともある。 • 面倒だからといって後回しにするのはやめよう。で も、行動に移すのはよく考えてから。 • 慎重かつ大胆に。
  • 16. 17. If the implementation is hard to explain, its a bad idea. 18. If the implementation is easy to explain, it may be a good idea. • 【訳】作るものをうまく説明できないようならそれ はボツ。うまく説明できたらたぶんそれがグッド。 • ほかの人に上手く説明できないことは、自分も完全 には理解できていない。 • たとえ複雑な処理であっても、やりたいことの本質 は簡単に説明できるはず。
  • 17. 19. Namespaces are one honking great idea - lets do more of those! • 【訳】ぶらぼーなアイディア名前空間、やっぱこれ ですね。 • 名前空間はPythonの仕組みを支える考え方。 • 「名前空間って何?」と疑問に思った人は、後期の 授業で先生に質問すればきっと丁寧に教えてもらえ るよ!
  • 18. A list of references • PEP 20 -- The Zen of Python | Python.org
 http://www.python.org/dev/peps/pep-0020/ • The Zen of Python(日本語訳)
 http://www.python.jp/Zope/articles/misc/zen • エキスパートPythonプログラミング
 http://www.amazon.co.jp/dp/4048686291 • 空飛ぶモンティ・パイソン
 http://www.amazon.co.jp/dp/B000X431A4