Skip to content

kitaikehiroaki/python-dev-tutorial

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-dev-tutorial

このリポジトリは、Pythonを用いた開発トレーニングの資料で、こちらの開発チュートリアルの一部です。 想定読者は、Pythonの文法やGitの使い方は一通り勉強したが、実際の開発経験があまりない方を想定しています(学部生など)。

目次に沿って読み進めながら、このリポジトリの内容を再構築することで、開発において重要な次のスキルが身につくと想定しています。

  1. Issue/PRベースのGitHub上での開発の仕方
  2. ユニットテストを使った開発の仕方
  3. CIを使った開発の進め方
  4. Pythonコードのパッケージングの仕方
  5. PythonコードのCLIツールとしての切り出し方

目次

  1. プロジェクトを初期化しよう
  2. 仕様を決めて、ユニットテストを追加してみよう
  3. ユニットテストが通るように本体を実装してみよう
  4. (Optional) doctestを導入してみよう
  5. 新しい機能を追加する前に、CIを導入してみよう
  6. 新しい機能を追加してみよう
  7. ライブラリとして使えるようにしてみよう
  8. CLIツールとして使えるようにしてみよう
  9. (Optional) 便利な外部ライブラリをインストールして使ってみよう (Pytest編)
  10. (Optional) 便利な外部ライブラリをインストールして使ってみよう (Click編)
  11. 型チェックを使ってみよう
  12. しっかりとしたREADMEを書こう

fizzbuzz

tests

A Fizz Buzz program available as Python package and CLI tool.

How to install

$ make install

Usage as Python package

fizzbuzz function can transform a number following the Fizz Buzz rule.

>>> from fizzbuzz.fizzbuzz import fizzbuzz
>>> fizzbuzz(3)
'Fizz'
>>> fizzbuzz(5)
'Buzz'
>>> fizzbuzz(15)
'FizzBuzz'
>>> fizzbuzz(2)
'2'

Usage as CLI tool

fizzbuzz-cli can receive any number of arguments.

$ fizzbuzz-cli 3 5 15 2
Fizz
Buzz
FizzBuzz
2

If no arguments are passed, it receives numbers from stdin.

$ seq 1 100 | fizzbuzz-cli
1
2
Fizz
...

See help message for further usage.

$ fizzbuzz-cli --help
Usage: fizzbuzz-cli [OPTIONS] [NUMS]...

  Fizz Buzz program. If no arguments are passed, it reads numbers from
  stdin.

Options:
  --fizz INTEGER  Number corresponds to Fizz.
  --buzz INTEGER  Number corresponds to Buzz.
  --help          Show this message and exit.

LICENSE

MIT License

About

Pythonを用いた開発トレーニングの資料

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.3%
  • Makefile 9.7%