私は個人用のツールを作成するときによく Python を使用します。私が作成するツールは通常、日常的なタスクを自動化するため、または楽しいアプリケーション プロジェクトのために使用されます。
これらは通常、数日で完了する小規模なプロジェクトであり、その後はあまり更新されません。公開されている大規模なサービスでは考慮事項は異なりますが、私が小規模なツール開発に Python をよく選択する理由は次の 2 つです。
理由 1: Python はほぼ何でもできる
何かを達成したいとき、Python にはそれ用のライブラリがすでに用意されていることがよくあります。ここでは、私が個人プロジェクトで使用した Python ライブラリの例をいくつか示します。
機械学習
- Python は、おそらく機械学習ライブラリとして最も充実した言語です。
- 私は個人的に深層学習モデルを頻繁にトレーニングすることはありませんが、時々 scikit-learn または XGBoost を使用してモデルを構築して適用します。
画像処理
- 私は個人の写真を管理するためのスクリプトを書きました。
- PIL (Python Imaging Library) や Pillow などのライブラリは、Exif データの取得や画像のサイズ変更に役立ちます。
スクレイピング
- 特定の Web サイトの情報を定期的に確認するツールを作成しました。
- Requests のような単純なライブラリを使用することも、Scrapy のようなより包括的なライブラリを使用して、スクレイピングをさらに簡単にすることもできます。
暗号通貨取引
- 私はかつて暗号通貨交換 API を使用したいと思っていました。
- 100 を超える取引所の API を統一インターフェイスで使用できるライブラリ ccxt のおかげで、私が望んでいたものを実現することができました。
- 各取引所のAPI仕様を調べる必要がなく、一貫したインターフェースで取引できるのがとても助かりました。
Web アプリケーション
- GUI を通じて上記の機能を制御したい場合があります。
- そのような場合、私は Django を使用して Web アプリケーションとして実行することがよくあります。
- 私が特に気に入っているのは、Django にはデフォルトで管理パネルが用意されており、設定の管理やデータの確認が簡単になるためです。
理由 2: クラウドでの実行は低コストです
個人ツールは頻繁に使用するものではないため、サーバー上で実行する場合のコストを低く抑えたいと考えています。 Python は無料のクラウド プラットフォームで長い間サポートされてきました。これが、私が個人ツールの開発に Python を選択するもう 1 つの理由です。
Google App Engine (GAE)
- GAE は、標準環境で無料利用枠を提供します。
- 2008 年のリリース以来 Python をサポートしているため、個人ツールを実行するためによく使用してきました。
- 管理コンソールから cron ジョブをスケジュールして実行できるように設定できるのも便利です。
AWS Lambda
- AWS Lambda は 2014 年にリリースされ、Python は 2015 年 10 月からサポートされています。
- 無料利用枠も提供しているので、最近ではツールを実行することがあります。
- サーバーレス フレームワークを使用すると、ローカル開発から展開までスムーズなエクスペリエンスが提供されます。
(状況に応じて、EC2 や Heroku 上でツールを実行することもあります。)
Python を使用した開発に関する苦情
Python には不満な点がいくつかあります。特に仮想環境やパッケージの管理は不安定になりがちです。しばらくしてから再度確認すると、新しいメソッドが導入されているか、古いメソッドが廃止されていることがよくあります。以下のツールを使用しましたが、それぞれの使い方を理解していないと混乱しやすいです。 (現在のベストプラクティスが何かはわかりません。)
- virtualenv
- ヴェンヴ
- pipenv
- pip ツール
- 詩
結論
私が個人用ツールの作成に Python をよく使用する理由を 2 つ挙げ、さらに苦情を 1 つ追加しました。お役に立てば幸いです。
以上が私が個人用ツールの作成に Python をよく使用する 2 つの理由 (プラス 1 つの不満)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。