前提
- python初学者、触ったことない人が投稿しています
- 個人的にあまり馴染みのない書き方について記載しています
- 誤っている箇所等があればコメントでご指摘いただけると幸いです
- こちらの記事はファイル操作編の続きとなっていますので気になる方は是非!
アプリ実装
これまでの学習で学んだものを形にしてみました
アプリケーション説明
- 画像のような対話型シェル
- 上記画像で質問した内容の回答とカウントを簡単にcsvやエクセルでまとめる
- 初めてカウントされたものは新規で新しいデータとして挿入される
- 2回目以降の場合は、すでに登録されているもののカウントを1増やす
- :注意:大文字、小文字等別々で入力されても同じものとしてカウントされるようにする
- 例)Orange, orange → これは両方同じもの
- 以下は試しで実装
- logをカラーで出す
- csvのファイルを出力するようにしている
ディレクトリツリー
参考までにディレクトリのツリーを置いておきます
├── README.txt
├── main.py
├── python_demo_app.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
├── python_programming_demo_app.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
├── ranking.csv
├── roboter
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-312.pyc
│ │ └── __init__.cpython-36.pyc
│ ├── controller
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-312.pyc
│ │ │ ├── __init__.cpython-36.pyc
│ │ │ ├── conversation.cpython-312.pyc
│ │ │ └── conversation.cpython-36.pyc
│ │ └── conversation.py
│ ├── models
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-312.pyc
│ │ │ ├── __init__.cpython-36.pyc
│ │ │ ├── ranking.cpython-312.pyc
│ │ │ ├── ranking.cpython-36.pyc
│ │ │ ├── robot.cpython-312.pyc
│ │ │ └── robot.cpython-36.pyc
│ │ ├── ranking.py
│ │ └── robot.py
│ ├── templates
│ │ ├── good_by.txt
│ │ ├── greeting.txt
│ │ ├── hello.txt
│ │ └── which_restaurant.txt
│ └── views
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-312.pyc
│ │ ├── __init__.cpython-36.pyc
│ │ ├── console.cpython-312.pyc
│ │ └── console.cpython-36.pyc
│ └── console.py
├── setup.cfg
└── setup.py
完成系
Pythonを学習してみて
- 自分が思っていたよりも描きやすく、便利な言語だと思った
- ただ、便利な反面安易な操作で大量のバグを生む可能性があることに注意が必要だと感じた
- 実際、簡単なappの作成の中でも何度か起きた
- 型を意識してやる必要が他の言語よりは多い気がする
- 他の言語はエラーとして吐かれたりするがpythonはない(多分)
- 実際にもう少しコードを書いてみたいと思うので他のアプリとは言わずとも、試しで色々なものを触ってみようと思う
- rubyと似ていてプログラミング初学者に優しい感じはあるがこれに慣れてしまうと、型付けを必要となった時に苦労するなと思う。自分もその節はあった
- 上記の面を踏まえるとrailsとかpythonを扱っているプログラミング学習塾が多かったのもうなづける