Python Koans は、Edgecase の「Ruby Koans」の移植版で、http://rubykoans.com/ にあります。
Python Koans は、テストに合格することで Python プログラミング言語を学習するための対話型チュートリアルです。
ほとんどのテストは、assert 関数の欠落部分を埋めることで修正されます。例えば:
self . assertEqual ( __ , 1 + 2 )
これは、__ 部分を適切なコードに置き換えることで修正できます。
self . assertEqual ( 3 , 1 + 2 )
場合によっては、すでに記入されているテストが不合格になることがあります。このような場合、先に進むには、いくつかのコードの実装を完了する必要があります。たとえば、三角形が正三角形、二等辺三角形、不等辺三角形のいずれであるかを示すコードを記述する演習があります。
これは、Python を学ぶのに最適な方法であるだけでなく、テスト駆動開発 (TDD) を体験するのにも良い方法です。
Python Koans は GitHub で入手できます。
Git を使用してクローンを作成するか、ソースを zip/gz/bz2 としてダウンロードできます。
Python Koans の最新バージョンをダウンロードまたはチェックアウトする以外に、Python インタープリターをインストールする必要があります。
この記事の執筆時点では、Python 3 をサポートしています。最新の運用バージョンを常に最新の状態に保つよう努める方針です。
新しい Python バージョンでも作業できるはずですが、古いバージョンでは問題が発生する可能性があります。
Python はここからダウンロードできます。
Python をインストールした後、Python 実行可能ファイルを含むフォルダーがシステム パスにあることを確認してください。つまり、コマンド コンソールから Python を実行できる必要があります。これはpython3
、または Windows の場合はpython.exe
になります。
問題がある場合は、次のことが役立つかもしれません。
Windows ユーザーは、バッチ ファイルrun.bat
内の行を更新して、Python パスを設定することもできます。
SET PYTHON_PATH=C:Python39
Jake Hebbert がいくつかのスクリーンキャストを作成し、ここから入手できます。
https://www.youtube.com/watch?v=e2WXgXEjbHY&list=PL5Up_u-XkWgNcunP_UrTJG_3EXgbK2BQJ&index=1
または、読みたい場合は、次のようにします。
*nix ターミナルまたは Windows コマンド プロンプトから次を実行します。
.. コードブロック:: sh
Python contemplate_koans.py
または:
python3 contemplate_koans.py
私の場合は Windows で Python 3 を使用しているため、コマンド シェル (cmd.exe) を起動してこれを実行します。
どうやらテストが失敗したようです:
AssertionError: False は True ではありません
また、問題の場所も正確に教えてくれます。それは . .\koans\about_asserts.py
の 12 行目のアサートです。これは簡単です。False False
True
に変更するだけでテストに合格します。
遅かれ早かれ、期待値がどの程度であるべきかわからないテストに遭遇する可能性があります。例えば:
class Dog :
pass
def test_objects_are_objects ( self ):
fido = self . Dog ()
self . assertEqual ( __ , isinstance ( fido , object ))
ここで、Python コマンド ラインが役立ちます。この場合、コマンド ラインを起動してシナリオを再作成し、クエリを実行します。
スニッファーを使用すると、テストを継続的に実行できます。 koans ディレクトリ内のファイルを変更すると、テストが再実行されます。
これを設定するには、スニファーをインストールする必要があります。
python3 -m pip install sniffer
システムに応じて、これらのライブラリのいずれかを実行する必要もあります。これにより、ファイルが変更されたときにスニファーが自動的にトリガーされます。そうでない場合、スニファーはファイルが変更されたかどうかを確認するためにポーリングする必要があります。
Linux の場合:
python3 -m pip install pyinotify
Windows の場合:
python3 -m pip install pywin32
Also available here:
https://github.com/mhammond/pywin32/releases
macOS の場合:
python3 -m pip install MacFSEvents
セットアップしたら、次を実行するだけです。
sniffer
koans ファイルの 1 つを変更するだけで、テストが自動的にトリガーされることがわかります。スニッファーは、 scent.py
によって制御されます。
Ruby Koans の指示を引用します。
「テスト駆動開発における合言葉は常に、赤、緑、リファクタリングです。失敗したテストを書いて実行し(赤)、テストを合格させ(緑)、それからリファクタリングします(つまり、コードを見て、この場合、koan を実行して失敗 (赤) を確認し、テストに合格 (緑) してから、少し時間をとってテストを振り返り、何を教えているかを確認する必要があります。コードを改善して、その意図をより適切に伝えることができます。 (リファクタリング)。
さまざまな言語やフレームワーク向けの優れた Koan プロジェクトが他にもたくさんあります。それらのほとんどは GitHub にあります。 Bitbucket には小さな公案活動もあります。
翻訳はいつでも大歓迎です!作業している場合は、この README に自由に追加してください。
https://github.com/mswell/python_koans_br
Python Koans のベースとなっているオリジナルの Ruby Koans を提供してくれた Jim Weirich と Joe O'Brien に感謝します。また、Ruby Koans も Metakoans から借用しているので、Ara Howard にも感謝します。
また、Python Koans に貢献してくださった皆様にも感謝します。 FPIP の Mike が共同で開始したコード ベースを引き継ぐことで、非常に有利なスタートを切ることができました。ここでは、非常にクールな Python ポッドキャストの小さなプラグインを紹介します。
さまざまな時期に共同メンテナーとして参加してくれた Mike Pirnat @pirnat と Kevin Chase @kjc にも多大な感謝を申し上げます。