
クラスの時間
悪い知らせは実はそれほど悪くない
前ページの最後で、プログラマが必要に応じて
with
文が使えるコンテキストマネジメ
ントプロトコルを
Python
が提供していることが悪い知らせであると述べました。その方
法を学べば、
UseDatabase
コンテキストマネージャを作成し、それを
with
文の一部
として使ってデータベースとやり取りできます。
このやり方では、
Web
アプリケーションのログデータをデータベースに保存するため
に書いた前処理と後処理の「定型句」コードを下のような
1
行の
with
文に置き換えられ
ます。
...
with UseDatabase(dbconfig) as cursor:
...
悪い知らせというのは、コンテキストマネージャの作成は、このプロトコルを正しく使
うためにクラスの作成方法を知る必要があるので複雑だということです。
この本ではここまで、クラスを作成せずに多くのコードを何
とか書いてきました。一
部のプログラミング言語ではまずクラスを作成しないことには何もできないことを考え
ると(
Java
のことを指しています)、これはとても素晴らしいことです。
しかし、今は我慢のときです(しかし、正直に言うと
Python
ではクラスの作成は恐れる
ことではありません)。
クラスを作成できると便利なので、データベースの話からそれて、次の(短い)章はクラ
スを取り上げます。
UseDatabase
コンテキストマネージャを作成できるところまで説
明するつもりです。それが終わったら、その後はデータベースに戻り、 ...