高性能 Web サーバー フレームワーク Tornado は、Restful インターフェイスと開発例をシンプルに実装します。
友人から tornado フレームワークの開発を依頼されました。正直に言うと、私はこのフレームワークをあまり使用しません。 。 。
運用と保守の研究開発に関連した私自身の例をいくつか紹介します。
Tornado のインストール方法は誰もが知っていると思います。
pip install tornado
公式 Web サイトで紹介されているモジュールのいくつかについて話しましょう。私の理解も含めて、長々と繰り返します。
メインモジュール
web - FriendFeed で使用される基本的な Web フレームワーク。Tornado の重要な機能のほとんどが含まれています。
エスケープ - XHTML、JSON、URL エンコード/デコード メソッド
データベース - 使いやすくするための MySQLdb の単純なカプセル化。これは ORM です。
template - jinja2
に似た、Python ベースの Web テンプレート システム
httpclient - ノンブロッキング HTTP クライアント。Web および httpserver で動作するように設計されています。これは、urllib2
を追加するのと似ています。
auth - サードパーティ認証の実装 (Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth を含む)
locale - ローカリゼーションと翻訳のサポート
オプション - コマンドラインおよび設定ファイル解析ツール。サーバー環境に最適化され、パラメータを受け入れます
基礎となるモジュール
httpserver - Web モジュールを提供する非常に単純な HTTP サーバーの実装
iostream - 一般的な読み取りおよび書き込み操作を容易にする非ブロッキング ソケットの単純なカプセル化
ioloop - コア I/O ループ
Tornado がリクエストをどのように受け入れるかについて話しましょう:
入手方法について
class MainHandler(tornado.web.RequestHandler): def get(self): self.write("You requested the main page") class niubi(tornado.web.RequestHandler): def get(self, story_id): self.write("xiaorui.cc niubi'id is " + story_id) application = tornado.web.Application([ (r"/", MainHandler), (r"/niubi/([0-9]+)", niubi), ])
このように、/niubi/123123123 にアクセスすると、niubi クラスとその中の get パラメータが使用されます。
投稿方法について
class MainHandler(tornado.web.RequestHandler): def get(self): self.write('<html><body><form action="/" method="post">' '<input type="text" name="message">' '<input type="submit" value="Submit">' '</form></body></html>') def post(self): self.set_header("Content-Type", "text/plain") self.write("xiaorui.cc and " + self.get_argument("message"))
tornado では、一般に get と post は同じアクセス ルートにあり、メソッドが異なるだけで区別されます。
ナンセンスはこれくらいにして、取得と投稿をテストしてみましょう。
import tornado.ioloop import tornado.web import json class hello(tornado.web.RequestHandler): def get(self): self.write('Hello,xiaorui.cc') class add(tornado.web.RequestHandler): def post(self): res = Add(json.loads(self.request.body)) self.write(json.dumps(res)) def Add(input): sum = input['num1'] + input['num2'] result = {} result['sum'] = sum return result application = tornado.web.Application([ (r"/", hello), (r"/add", add), ]) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
#フォーム テストを作成することも、curl -d を使用してテストすることもできます

Numpyを使用して多次元配列を作成すると、次の手順を通じて実現できます。1)numpy.array()関数を使用して、np.array([[1,2,3]、[4,5,6]])などの配列を作成して2D配列を作成します。 2)np.zeros()、np.ones()、np.random.random()およびその他の関数を使用して、特定の値で満たされた配列を作成します。 3)アレイの形状とサイズの特性を理解して、サブアレイの長さが一貫していることを確認し、エラーを回避します。 4)np.reshape()関数を使用して、配列の形状を変更します。 5)コードが明確で効率的であることを確認するために、メモリの使用に注意してください。

BroadcastinginNumPyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.Itsimplifiescode,enhancesreadability,andboostsperformance.Here'showitworks:1)Smallerarraysarepaddedwithonestomatchdimensions.2)Compatibledimensionsare

Forpythondatastorage、chooseLists forfficability withmixeddatypes、array.arrayformemory-efficienthogeneousnumericaldata、およびnumpyArrays foradvancednumericalcomputing.listSareversatilebuteficient efficient forlargeNumericaldatates;

pythonlistsarebetterthanarrays formangingdiversedatypes.1)listscanholdelementsofdifferenttypes、2)adearedditionsandremovals、3)theeofferintutiveoperation likeslicing、but4)theearlessememory-effice-hemory-hemory-hemory-hemory-hemory-adlower-dslorededatas。

toaccesselementsinapythonarray、useindexing:my_array [2] Accessesthirderement、Returning3.pythonuseszero basedIndexing.1)usepositiveandnegativeindexing:my_list [0] forteefirstelement、my_list [-1] exterarast.2)

記事では、構文のあいまいさのためにPythonにおけるタプル理解の不可能性について説明します。 Tupple式を使用してTuple()を使用するなどの代替は、Tuppleを効率的に作成するためにお勧めします。(159文字)

この記事では、Pythonのモジュールとパッケージ、その違い、および使用について説明しています。モジュールは単一のファイルであり、パッケージは__init__.pyファイルを備えたディレクトリであり、関連するモジュールを階層的に整理します。

記事では、PythonのDocstrings、それらの使用、および利点について説明します。主な問題:コードのドキュメントとアクセシビリティに関するドキュストリングの重要性。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









