Python はスクリプト言語であり、さまざまな他のプログラミング言語で記述されたモジュールを結合できるため、接着言語とも呼ばれます。その強力な包括性、強力な機能、幅広い応用はますます注目を集めており、「花が咲けば蝶が来る」という古いことわざを思い出させます。 電話をかけて自分の健康状態を尋ねてくれるガールフレンドがいないプログラマーにとって、Pythonを勉強することは心の空虚さを埋めるのに良い選択かもしれません。最近、多くの友人が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 で Flask を使用して Hello world の Web バージョンを構築するには、わずか数行かかります。
さらに、Python には、さまざまな他の Web サイトやその他の関連機能とドッキングするための「すぐに使える」モジュールが多数あります。 WeChat パブリック アカウント関連の機能を開発する場合、wechat-sdk/weixin-python などのパッケージを使用すると、ドキュメントに記載されているさまざまなサーバー相互作用の詳細を完全に無視し、機能の実装に集中して開発を完了できます。 現在、中国における Python Web 開発には主に 2 つのテクノロジー スタックがあります。 a. ジャンゴ Django は、高度なアジャイル Web 開発フレームワークです。これを学べば、すぐに Web サイトを構築できます。もちろん、純粋にウェブサイトの構築速度を比較すれば、Ruby ベースの Ruby on Rails の方が明らかに速いのですが、Django はパフォーマンスに優れ、国内のウェブサイトの適用シナリオに適しているという利点があります。海外の有名な写真コミュニティである Pinterest も、初期には Django をベースに開発され、急速なユーザー増加の影響に耐えました。したがって、Web サイトを迅速に開発し、APP クライアントの API 呼び出し要件を考慮したい場合は、Django が信頼できます。
b. フラスコ Django と比較すると、Flask は軽量な Web フレームワークです。Flask の最大の利点は、その優れたパフォーマンスであり、モバイル クライアントを使用したバックエンド API サービスの開発に適しています。国内の Flask ベースの Restful API サービスは非常に人気があり、需要も大きいです。 Baidu、NetEase、Xiaomi、Momo などの多くの有名企業が Flask ベースのアプリケーションを導入しています。もちろん、従来の Web サイトを作成する場合は、Django を使用することをお勧めします。Flask の利点はバックエンドと API であり、フル機能の Web サイトの構築には適していません。 2. ウェブクローラー Web クローラーは Python の一般的な使用例です。国際的には、Google は初期の Web クローラーの基盤として Python を広く使用し、Python 言語アプリケーション全体の開発を推進しました。かつて中国では、多くの人がコレクターを使ってインターネット上のコンテンツを検索していました。今では、Python を使ってインターネット上の情報を収集することが以前よりもはるかに簡単になりました。 、
Python には、HTTP リクエストをシミュレートする Requests、HTML DOM 解析用の PyQuery/BeautifulSoup、分散クロール タスクを自動化する Scrapy、データベース アクセスを簡素化するさまざまな ORM など、この点に関して多くのツールが蓄積されており、これらにより Python はデータ クロールに最適な言語の 1 つとなっています。特に、クローリング後のデータ分析や計算は Python が得意とする領域であり、非常に簡単に統合できます。現在、Python で最も人気がある Web クローラー フレームワークは、非常に強力な scrapy です。 3. 人工知能(AI)と機械学習 人工知能は昨今非常にホットな話題であり、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 を直接使用して計算ロジックを完了できます。これはデータ サイエンティストとデータ エンジニアの両方にとって非常に便利です。 Seaborn などの視覚化ライブラリでは、1 行または 2 行だけでデータをプロットできます。一方、Pandas、numpy、scipy では、大量のデータに対してフィルタリング、回帰、その他の計算を簡単に実行できます。その後の複雑な計算では、機械学習関連のアルゴリズムに接続したり、Web アクセス インターフェイスを提供したり、リモート呼び出しインターフェイスを実装したりすることが非常に簡単になります。
データ分析と処理における Python の典型的な用途は、定量取引です。簡単に言えば、強力な数学モデル データ分析を使用して利益を最大化し、損失を最小限に抑えることを意味します。すでに多くの優れたフレームワークが利用可能です。 5. サーバー運用・保守、その他ガジェット Python はサーバーの運用と保守にも非常に重要です。現在、ほぼすべての Linux ディストリビューションには Python インタープリターが付属しているため、バッチ ファイルの展開や操作の調整に Python スクリプトを使用することは、Linux サーバー上で適切な選択肢となっています。 Python には、ssh/sftp を制御する paramiko から、サービスを監視する supervisor、bazel などのビルド ツール、さらには conan などの C++ 用パッケージ管理ツールまで、多くの便利なツールが含まれています。Python は包括的なツール セットを提供し、これをベースに Web と組み合わせることで、運用と保守を容易にするツールの開発が非常に簡単になります。
さらに興味深いのは、Python コミュニティの開発者が itchat などの開発ツールキットも作成しており、WeChat を使用してサーバーを管理したり、さまざまなサービスの運用を行ったりできることです。例外が発生したときや毎日決まった時間にサーバーやプログラムの実行状況を報告し、matplotlib/seaborn で描画した一目でわかるグラフまで含まれている WeChat ロボットを想像してみてください。簡単な文章を送信するだけでサーバーの調整を完了できます。 6. デスクトッププログラム さらに、Python はデスクトップ ソフトウェア開発 (Sublime Text など) やモバイル開発 (kivy を参照) にも使用できます。 Python は簡潔で便利であり、完全なツールキットを備えた環境により、開発者の負担を大幅に軽減できます。有名な UI フレームワーク QT には、Python 言語実装バージョン PyQT があります。 Python の使いやすさと QT の優雅さを組み合わせることで、複雑なインターフェースを持つデスクトップ プログラムの開発が容易になり、クロスプラットフォーム機能を簡単に実装できます。 7. マルチメディアアプリケーション Python の PIL、Piddle、ReportLab などのモジュールを使用して、画像、サウンド、ビデオ、アニメーションなどを処理できます。また、Python を使用して動的なチャートや統計分析チャートを生成することもできます。さらに、PyOpenGl モジュールを使用して、3 次元シーンを非常に迅速かつ効率的に記述することもできます。 「アビス」「スタートレック」「インディ・ジョーンズ」などの大ヒット映画の特殊効果やアニメーションを制作してきたインダストリアル・ライト&マジックは、商業アニメーションの制作に Python を使用しています。しかし、昔はPythonはゲームプログラミングの補助ツールであり、「スターウォーズ」の制作に重要な役割を果たしていました。今では、Pythonを使用して優れたゲームプログラムを作成することは完全に可能です。 多くの初心者ユーザーは、コードを書き始めるのが待ちきれません。しかし、非常に現実的な問題が発生します。高速で、使いやすく、インストールが簡単で、美しいコードを書くには、どのツールを使用すればよいのでしょうか (妻を探すとき、リビングルームの話をするために外に出るときに、キッチンに行くのと同じです~~話題が逸れました)。結局のところ、仕事をうまくやりたいのであれば、まずツールを磨かなければなりません。格闘技を練習するには、自分に合った武器を選ぶ必要があります。そこで、Python 開発ツールをいくつか選別し、自分の経験と組み合わせて、最も人気のある 2 つのツールを参考までにリストしました。 Python は武術の秘伝書のようなものです。実践したいなら、自分に合った武器を見つけなければなりません。優れた開発ツールを選択することは非常に重要だと言えます。優れた IDE は、Python プログラムを便利に作成し、プログラミングをより快適にするのに役立ちます。 私は数年間Pythonを使っています。その間、いくつかのIDEを使ってきました。初心者に非常に適したツールが2つあると思います。それらを使用した後、私はそれが流れる水のような感じがします。私はそれを手放すことができません。コードを書くのはとても楽しいです~~私はそれをみんなに勧めます。それが良くなくても批判しないでください。 優れた開発ツールには、機能と長所の両方が必要です。つまり、美しく、強力で、使いやすいものでなければなりません。次の 2 つは、そのような注目の製品です。 1. 崇高なテキスト: 愛好家レベル Sublime はただただ素晴らしく、とてもクールで、視覚効果も非常に楽しく使用できます。今はSublime Text 3です。非常に人気のあるエディタです。基本的にはHTML、CSS、JSのフロントエンド開発に使われています。 ***とてもシンプルです。2番目に、プラグイン ライブラリが充実しています。3番目に、フォントの配色が本当に美しいです (これまでたくさんのツールを使ってきましたし、何千回も検索してきましたが、振り返ってみると、やはりフォントの配色は変わっていません***) もちろん、多くの利点がある一方で、いくつかの欠点もあります。つまり、相互作用が特に良くなく、それを補うためにいくつかのプラグインをインストールする必要があります。一般的に言えば、Python 開発に必須のインストール プラグインは次のとおりです。 パッケージ コントロール、Emmet、PyV8、SublimeREPL (ターミナルでの対話型デバッグ)、SublimeCodeIntel (コード プロンプト) 2. Pycharm: プロフェッショナル Python IDE を 1 つだけ推奨できるとしたら、非常に強力な機能を持つ Pycharm です。 さらに、多くの機能 (デバッグ、構文の強調表示、プロジェクト管理、コードジャンプ、スマートプロンプト、自動補完、ユニットテスト、バージョン管理) がすでに組み込まれているため、追加のプラグインをインストールする必要はありません。最も優れている点は、コードジャンプが非常に実用的であることです。数千行の、多数のクラスと関数を含むプロジェクトを作成する場合、便利なジャンプが必要になります。 そして、この魔法のツールは、Flask、Django、H5、AngularJS を組み合わせたものです。この方法では、Web 開発用に他の IDE をインストールする必要はありません。 もう 1 つの非常に重要な機能は、コード リファクタリングをサポートすることです。経験豊富なコード ファーマーはコード リファクタリングの重要性を理解していると思いますので、これ以上は説明しません。 上記2つは私の強いおすすめです。ツールは手軽なものでなければなりません。もちろん社内でもvimを使い、モニターを2つ繋いでpythonを書くという達人もいて、オーラが強いです。Javaで開発する学生はEclipseに慣れているので、Eclipse+pydevでも良いと言うかもしれません。 つまり、開発ツールについては誰もが独自の意見を持っています。重要なのは、それを気に入って、喜んで使用することです。 Python はとても優れていて便利なので、誰もが学びたくなるのも当然です。編集者は専門的かつ体系的な学習を推奨します。インターネットが発達し、情報の更新が非常に速い現在、独学では偏りが生じる可能性があるため、体系的に学習することをお勧めします。 |
>>: AI を使って体内最大の臓器を管理すれば、本当にもっと美しくなれるのでしょうか?
12月1日、GoogleのDeepMindは最近、Nature誌で自社のAIツールGNoMEを披露し...
背景と概要Taobao プラットフォームには、検索、推奨、広告など、多くのサブシナリオがあります。各...
[[351784]]ビッグデータダイジェスト制作著者: miggyようやく気に入った家が見つかり、...
[[355166]]この記事はWeChatの公開アカウント「bigsai」から転載したもので、著者は...
カリフォルニア大学サンフランシスコ校の神経科学者チームは、ネイチャー誌に最近発表した研究で、脳の活動...
今日の急速に変化するデジタル世界では、組織はローコード/ノーコード (LC/NC) アプリケーション...
誰もが知っているように、アルゴリズムを学ぶことは、コンピューターサイエンスの中で最も退屈でわかりにく...
ビッグデータとディープラーニングの利用が増えるにつれて、基盤となるハードウェアとチップに新たな要件が...
2050年には人類は「不死」になる!このトピックを見て驚きましたか?驚きましたか?不死は、すべての...
01 教師あり学習とは何か教師あり学習を行うには、コンピューターが学習できるラベルが付いたサンプル...
今日のデータ主導の世界では、AI が業界全体を変革しています。 AI は大規模なデータ分析を加速し、...