Pythonのプログラミングお作法を教えると学習効率が向上
みなさんこんにちは。Pythonエンジニア育成推進協会の吉政でございます。
今日は、エンジニアの皆さんの中では比較的知られているプログラミングお作法についてお話しいたします。
多くのプログラミング言語やフレームワークには「らしく書く」という考え方があります。この「らしく書く」をお作法と呼んだりします。
このお作法が必要な理由は、コードの可読性を高めたり、保守性を高めるメリットがあります。このお作法が存在しない場合、我流で書いてしまう人が増えやすい傾向があり、その言語やフレームにお作法があることで、コードの書き方の統一性が生まれます。この統一性がコードの可読性や保守性を高めます。
それゆえに仕事でPythonを使う方や企業での研修の際に重要な基本的な考え方になります。
Pythonの場合だと、「Pythonic(バイソニック)」や「Python Zen(バイソンゼン)」が該当します。
みなさん、この二つをご存知でしたでしょうか?
もし、初めて聞かれた方はこの機会に以下の説明を読んでイメージを沸かせてください。
Pythonicとは
Pythonを使う人たちの間で共有されている造語に「Pythonic」というものがあります。「Pythonic」はプログラミングフィロソフィーに関して幅広い意味を含むことばです。Pythonの素晴らしさを最大限に引き出せるエンジニアを多く輩出できるように当協会は「Pythonic」の理解促進を目標の一つに掲げています。
<原文>
A common neologism in the Python community is pythonic, which can have a wide range of meanings related to program style.
To say that code is pythonic is to say that it uses Python idioms well, that it is natural or shows fluency in the language, that it conforms with Python’s minimalist philosophy and emphasis on readability.
In contrast, code that is difficult to understand or reads like a rough transcription from another programming language is called unpythonic.
Python Zenとは
「Zen」は日本語の「禅」から来ています。The Zen of Python とは、Pythonの禅としてPythonの設計について記述されたイディオム集です。Pythonのインタプリタで、 import this と実行すると英文で内容が表示されます。
<原文>
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!
簡単な文章ですので、社内の研修等でも簡単に触れると良いと思います。暗記する必要はないですけど知っておくべき考え方ですので、軽く目を通すだけでも違うと思います。
これらを理解したうえで、研修を進めるとその後の理解が早くなり、実戦配備後のコードの品質が高まります。研修の割と早い段階で教えると、良い効果が出ると思います。
私どもはPythonが普及する際にPythonicとPython Zenを知っている人が多く育成されるようにと無料の試験をやっております。
Pythonの学習を始める前に、簡単にPythonicとPython Zenの目を通していただき、その理解度を測る手段として活用いただけると幸いです。
Python Zen & PEP8検定については以下をご覧ください。
このコラムを書いたプロフェッショナル
吉政忠志
一般社団法人Pythonエンジニア育成推進協会 代表理事
日本を代表する大手企業を中心にマーケティング支援を実施。日本のIT業界の発展のためには教育が重要であると考え、LinuxやXML、PHP、Ruby on Rails、Python、IPv6の検定試験を立ち上げ、運営組織の代表を歴任する。
吉政忠志
一般社団法人Pythonエンジニア育成推進協会 代表理事
日本を代表する大手企業を中心にマーケティング支援を実施。日本のIT業界の発展のためには教育が重要であると考え、LinuxやXML、PHP、Ruby on Rails、Python、IPv6の検定試験を立ち上げ、運営組織の代表を歴任する。
日本を代表する大手企業を中心にマーケティング支援を実施。日本のIT業界の発展のためには教育が重要であると考え、LinuxやXML、PHP、Ruby on Rails、Python、IPv6の検定試験を立ち上げ、運営組織の代表を歴任する。
| 得意分野 | 資格取得 |
|---|---|
| 対応エリア | 全国 |
| 所在地 | 江東区 |
このプロフェッショナルの関連情報
育成・研修 PythonZen & PEP 8 検定試験(無料試験)
Pythonのプログラミングお作法であるPythonZenとPEP 8に関する知識を問う試験です。
- 参考になった0
- 共感できる0
- 実践したい0
- 考えさせられる0
- 理解しやすい0
無料会員登録
記事のオススメには『日本の人事部』への会員登録が必要です。