13.モジュールとパッケージ (Modules and Packages)
・モジュールはPythonコードを整理する単位で、1つの.pyファイルがモジュールです。関数やクラスを含み、他のスクリプトからインポートして再利用可能です。パッケージは複数のモジュールをまとめたディレクトリで、__init__.pyが含まれます。これにより、コードを階層的に整理し、大規模プロジェクトの開発が容易になります。標準ライブラリや外部パッケージを活用することで、開発効率を向上させられます。
14.並列処理とスレッド (Parallelism and Threading)
・並列処理は複数のタスクを同時に実行する技術で、スレッドはその手段の1つです。Pythonのthreadingモジュールを使うと、軽量なスレッドを生成できます。GIL(Global Interpreter Lock)の制約により、CPUバウンドなタスクには制限がありますが、I/Oバウンドなタスクでは有効です。一方、multiprocessingモジュールはGILを回避して真の並列処理を実現します。並列処理により、大規模なデータ処理やリアルタイムアプリケーションが効率化されます。
15.デコレーター (Decorators)
・デコレーターは、関数やクラスの動作を簡潔に修正するための高階関数です。関数を引数に取り、新しい関数を返します。たとえば、ログ出力を追加したり、認証をチェックする処理を簡単に組み込めます。@記法を用いることで、デコレーターの適用が簡素化されます。標準的な例として、@staticmethodや@propertyが挙げられます。コードの再利用性を高める便利なツールで、読みやすさも向上します。
16.コンテキストマネージャ (Context Managers)
・コンテキストマネージャは、特定のリソースを安全に管理するための仕組みで、with文を使って利用します。たとえば、ファイルのオープンとクローズ、データベース接続の確立と解放など、リソースのライフサイクルを簡潔に管理できます。__enter__と__exit__メソッドを実装したクラスやcontextlibモジュールを使うことで、独自のコンテキストマネージャも作成可能です。コードの安全性と簡潔さを向上させるために不可欠なツールです。
13. モジュールとパッケージ (Modules and Packages)
・ 例: import, from module import function
import math
print(math.sqrt(16)) # 4.0
________________________________________
14. 並列処理とスレッド (Parallelism and Threading)
・例: threading, multiprocessing
import threading
def print_numbers():
for i in range(5):
print(f”スレッド内: {i}”)
thread = threading.Thread(target=print_numbers)
thread.start()
thread.join()
________________________________________
15. デコレーター (Decorators)
・例: @decorator_function
def decorator(func):
def wrapper():
print(“デコレーターが呼び出されました”)
func()
return wrapper
@decorator
def greet():
print(“こんにちは!”)
greet()
________________________________________
16. コンテキストマネージャ (Context Managers)
・例: withステートメント
with open(‘example.txt’, ‘r’) as file:
content = file.read()
print(content) # ファイルの内容が表示される
________________________________________