ホームページ  >  記事  >  バックエンド開発  >  Pythonプログラミングで何をするか

Pythonプログラミングで何をするか

藏色散人
藏色散人オリジナル
2019-07-04 11:47:024094ブラウズ

Pythonプログラミングで何をするか

Python プログラミングで何ができるでしょうか?

1 WEB 開発

中国では、Douban は当初から Web 開発の基本言語として Python を使用していました。Zhihu のアーキテクチャ全体も、 Python 言語: これにより、中国では Web 開発が非常にうまく発展します。

Python は現在、Web 開発の第一の選択肢ではありませんが、常に無視できない場所を占めてきました。 Python には、自由に組み合わせられるシンプルなマイクロフレームワークから、フル機能を備えた大規模な MVC フレームワークまで、さまざまな Web フレームワークがあり、アジャイル開発が必要な Web プロジェクトでも非常に有利です。 Python によって提供され、広く使用されている (または広く使用されていた) 大規模な Web サービスには、Zhihu、Douban、Dropbox などの Web サイトが含まれます。 Python 自体の「接着剤」特性と組み合わせることで、Web 開発の移植性と速度を維持しながら、大規模なパフォーマンス レベルの計算が必要な場合に他の言語を簡単に統合できます。

さらに、Python には、他のさまざまな Web サイトとのドッキングなどの関連機能用の「すぐに使える」モジュールが多数あります。 WeChat パブリック アカウントに関連する機能を開発したい場合、wechat-sdk/weixin-python などのパッケージを使用すると、ドキュメントに記載されているさまざまなサーバー インタラクションの詳細をほぼ完全に無視して、機能の実装に集中して開発を完了できます。

現在、国内の Python Web 開発には主に 2 つの技術スタックがあります。

(1) Django

Django は高度なアジャイル Web 開発です。フレームワークを使用すると、Web サイトを非常に迅速に構築できます。もちろん、純粋にWebサイトの速度で比較すれば、RubyをベースとしたRuby on Railsの方が明らかに速いのですが、Djangoの利点の1つは、パフォーマンスに優れており、国内Webサイトの適用シナリオにより適していることです。海外の有名な画像コミュニティである Pinterest も、初期には Django に基づいて開発され、急速なユーザー増加の影響に耐えてきました。したがって、Web サイトを迅速に開発し、APP クライアントの API 呼び出しのニーズも考慮したい場合は、Django が信頼できます。

(2) Flask

Flask は Django と比較して軽量な Web フレームワークであり、その最大の利点は優れたパフォーマンスであり、モバイル クライアントでのバックグラウンド API サービスの開発に適しています。 Flask をベースにした国内の Restful API サービスは非常に人気があり、需要も最も高いです。 Baidu、NetEase、Xiaomi、Momo などの有名企業が Flask ベースのアプリケーションを展開しています。もちろん、従来の Web サイトを構築したい場合は、引き続き Django を使用することをお勧めしますが、Flask の利点はバックエンドと API であり、フル機能の Web サイトの構築には適していません。

2 Web クローラー

Web クローラーは Python で一般的に使用されるシナリオです。国際的には、Google は初期の頃に Web クローラーの基礎として Python 言語を広く使用していました。 Python 言語全体のアプリケーション開発につながりました。以前は、中国では多くの人がコレクターを使用してインターネット上のコンテンツを検索していましたが、現在では、Python を使用してインターネット上の情報を収集することが以前よりもはるかに簡単になりました。

Python は、HTTP リクエストをシミュレートするための Requests、HTML DOM 解析のための PyQuery/BeautifulSoup、分散クローリング タスクを自動化するための Scrapy、データベース アクセスを簡素化するさまざまな ORM の使用など、この分野で多くのツールを蓄積してきました。データ クローリングに推奨される言語の 1 つです。特に、データ分析とクローリング後の計算は Python が最も得意とする分野であり、統合が非常に簡単です。現在、Python で最も人気のある Web クローラー フレームワークは、非常に強力な Scrapy です。

3 人工知能と機械学習

人工知能は現在非常に注目されている方向性であり、AI ブームにより Python 言語の未来は無限の可能性に満ちています。 。現在リリースされているいくつかの非常に影響力のある AI フレームワークのほとんどは Python で実装されています。

Python は十分な動的性と十分なパフォーマンスを備えているため、これらは AI テクノロジーに必要な技術特性です。たとえば、Python ベースの深層学習ライブラリ、深層学習の指示、機械学習の指示、および自然言語処理の指示に基づく一部の Web サイトは、基本的に Python を通じて実装されています。機械学習、特に人気のあるディープ ラーニングのツール フレームワークのほとんどは、Python インターフェイスを提供します。 Python は科学技術コンピューティングの分野で常に高い評価を得ており、その簡潔かつ明確な構文と豊富なコンピューティング ツールは、この分野の開発者に深く愛されています。

ディープ ラーニングや Tensorflow、その他のフレームワークが普及するずっと前から、Python には scikit-learn が存在し、ほぼすべての機械学習モデルを簡単に完成させることができました。古典的なデータ セットをダウンロードしてモデルを構築するには、数行しかかかりません.コード。 Pandas や matplotlib などのツールを使用して簡単に調整できます。

Tensorflow、PyTorch、MXNet、Keras などの深層学習フレームワークは、機械学習の可能性を大幅に拡大しました。 Keras を使用して手書き数字認識用のディープ ラーニング ネットワークを記述するには、数十行のコードのみが必要で、基盤となる実装を使用して、GPU を含む多数のリソースを簡単に呼び出して作業を完了できます。

どのようなフレームワークであっても、Python はフロントエンド記述用の言語としてのみ使用され、実際の計算は基盤となる C/C を通じて実装されることに注意してください。 Python は、C/C プロジェクトやライブラリを簡単に導入して使用して、機能やパフォーマンスの拡張を実現できるため、開発者は、このような大規模な計算において、メモリ割り当てなどの複雑な作業よりもデータ自体のロジックに集中することができます。 . 解放は、Python が機械学習の分野で広く使用されている重要な理由です。

4 データ分析と処理

データ分析と処理という点では、Python は非常に完全な生態環境を備えています。 「ビッグデータ」分析に関わる分散コンピューティング、データ視覚化、データベース操作などのために、Python には機能を完了するために選択できる成熟したモジュールがあります。 Hadoop-MapReduce と Spark の両方で、Python を直接使用して計算ロジックを完成させることができます。これは、データ サイエンティストとデータ エンジニアの両方にとって非常に便利です。

5 サーバーの運用と保守とその他のガジェット

Python はサーバーの運用と保守にも非常に重要です。現在、ほとんどすべての Linux ディストリビューションには Python インタープリターが付属しているため、Linux サーバーではバッチ ファイルのデプロイメントと操作調整に Python スクリプトを使用することが非常に良い選択肢となっています。 Python には、ssh/sftp を制御する paramiko から、サービスを監視するスーパーバイザー、bazel などのビルド ツール、さらには conan などの C 用のパッケージ管理ツールまで、便利なツールが多数含まれています。Python は、あらゆる種類のツール コレクションを提供します。この基盤を Web と組み合わせると、運用と保守を容易にするツールの開発が非常に簡単になります。

さらに興味深いのは、Python コミュニティの開発者が itchat などの開発ツールキットも作成していることです。WeChat を使用してサーバーを管理したり、さまざまなサービスを実行したりできます。考えてみてください。WeChat ロボットは、例外が発生したときや毎日決まった時間にサーバーやプログラムの動作状況を報告し、matplotlib/seaborn で描画された一目でわかるグラフも含めて、簡単なレポートを送信できます。これに文を入力すると、サーバーの調整が完了します。

6 デスクトップ プログラム

Python は、デスクトップ ソフトウェア開発 (サブライム テキストなど) やモバイル開発 (kivy を参照) にも使用できます。 Python はシンプルで便利で、その包括的なツールキット環境により開発者の負担が大幅に軽減されます。有名なUIフレームワークQTにはPython言語実装版のPyQTがあります。 Python のシンプルで使いやすい機能と QT の優雅さにより、複雑なインターフェイスを備えたデスクトップ プログラムの開発が容易になり、クロスプラットフォーム機能を簡単に実現できます。

7 マルチメディア アプリケーション

PIL、Piddle、ReportLab およびその他の Python モジュールを使用して、画像、サウンド、ビデオ、アニメーションなどを処理できます。 Python 動的チャートと統計分析チャートを生成します。さらに、PyOpenGl モジュールを使用して、3 次元シーンを非常に迅速かつ効果的に作成することもできます。

関連する推奨事項: 「Python チュートリアル

以上がPythonプログラミングで何をするかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。