Python は最も人気のあるプログラミング言語の 1 つとなり、Web 開発、データ サイエンス、人工知能、サーバー プログラミングなど、幅広い用途に使用されています。この記事では、Pythonサーバープログラミングの初心者が学ぶべき5つのヒントを紹介します。
ソケットは Python ネットワーク通信プログラミングの重要な部分であり、クライアントとサーバーの間でデータを送信するためにソケットを使用できます。ソケット プログラミングを使用すると、ストリーム ソケットとデータグラム ソケットを作成できます。ソケットは、両端のアプリケーションが通信できるようにする通信リンクを提供します。 Python の Socket モジュールには TCP と UDP の 2 種類があります。 TCP は接続されたソケットであり、信頼性の高いストリーミング サービスを提供し、データ パケットの送信順序と整合性を保証できます。 UDP はコネクションレス型のソケットで、信頼性の低いデータ送信サービスを提供しますが、TCP よりも送信速度が速く、データ量は少ないがリアルタイム性の要求が高いアプリケーションに適しています。
次に、Python ソケット プログラミングの使用例を示します。
import socket # 创建一个Socket实例 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定地址和端口号 server_socket.bind(("", 8000)) # 监听连接 server_socket.listen(10) while True: # 等待连接 client_socket, client_address = server_socket.accept() # 接收数据 data = client_socket.recv(1024) # 处理数据 response = "Hello, %s" % data.decode() # 发送响应 client_socket.sendall(response.encode()) # 关闭连接 client_socket.close()
サーバー アプリケーションを開発する場合、フレームワークを使用すると、次のことが可能になります。コード開発効率が大幅に向上します。 Python は、Django、Flask、Tornado など、多くの優れたフレームワークを提供しており、それぞれに独自の特徴と適用シナリオがあります。 Web アプリケーションを開発したい場合は Django が適している可能性があり、効率的な非同期 IO サポートが必要な場合は Tornado の方が適している可能性があります。
以下は Flask フレームワークの使用例です:
from flask import Flask, request app = Flask(__name__) @app.route('/') def home(): return 'Hello, World!' @app.route('/about') def about(): return 'This is a Flask web application.' @app.route('/user/<username>') def user(username): return 'Hello, %s!' % username if __name__ == '__main__': app.run()
非同期 IO は現代の Web アプリケーションでは部分的に不可欠です、Web アプリケーションの同時実行性とスケーラビリティが向上します。 Python は、asyncio、Tornado、gevent などの多くの非同期 IO ライブラリを提供しており、それらはすべてコルーチンを実装しています。コルーチンは、実行を一時停止および再開できる関数です。
次は、asyncio ライブラリの使用例です:
import asyncio async def hello(): print('Hello') await asyncio.sleep(1) print('World') async def main(): await asyncio.gather(hello(), hello(), hello()) if __name__ == '__main__': asyncio.run(main())
Web アプリケーションでデータを保存する必要がある場合、データベースを使用するのが良い選択です。 Python は、sqlite3、MySQLdb、psycopg2 などの多くのデータベース API を提供しますが、ORM ライブラリは最も広く使用されているデータベース アクセス方法です。 ORMとは「Object Relational Mapping」の略で、Pythonのオブジェクトをデータベースのレコードに変換する機能で、ORMを利用することでSQL文を直接操作する必要がなくなります。
SQLAlchemy ORM ライブラリの使用例を次に示します:
from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create_engine('sqlite:///example.db') Session = sessionmaker(bind=engine) class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) def __repr__(self): return "<User(name='%s')>" % self.name # 创建表 Base.metadata.create_all(engine) # 添加数据 session = Session() new_user = User(name='John') session.add(new_user) session.commit() # 查询数据 users = session.query(User).all() for user in users: print(user)
Web アプリケーションを開発するときは、ログを記録します。記録は非常に重要です。ログは、エラーやデバッグ情報の追跡、問題の発見、問題の解決に役立ちます。 Python の組み込みログ モジュールは、ログ情報の記録に役立ちます。
次はロギング モジュールの使用例です:
import logging logging.basicConfig( level=logging.DEBUG, format='%(asctime)s [%(levelname)s] %(message)s', handlers=[ logging.FileHandler('app.log'), logging.StreamHandler() ] ) logging.debug('This is a debug message') logging.info('This is an info message') logging.warning('This is a warning message') logging.error('This is an error message') logging.critical('This is a critical message')
以上は Python サーバー プログラミングで習得すべき 5 つのスキルです。初心者の方の参考になれば幸いです。実際の開発では、サーバー アプリケーションはセキュリティ、パフォーマンス、スケーラビリティなどの問題を考慮する必要があり、これを習得するには継続的な学習と練習が必要です。
以上がPython サーバー プログラミング: 初心者が学ばなければならない 5 つのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。