libro
www.tuyano.com
PythonによるGoogle App Engine(GAE)プログラミング入門

プロジェクトを作ろう! (6/10)

作成:2009-12-28 16:03
更新:2010-05-10 21:03

■Pythonのソースコードを見る

では、ソースコードを見てみましょう。helloworld.pyを開いてみてください。以下にあげるリストのようなソースコードが書かれています。

Pythonについて全くわかっていないと理解するのは難しいでしょうが、まあ朧気ながら以下のようなことぐらいはわかるようになっておきましょう。
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
使用するライブラリをロードするものです。Pythonには、標準で多数のライブラリが付属しており、必要に応じてそれらをロードし使えるようになっています。スクリプトを書く際には、最初に使うライブラリを読み込むための文を用意します。

ここでは、google.appengine.extにある「webapp」と、google.appengine.ext.webapp.utilにある「run_wsgi_app」というものをロードしていると考えてください。いずれも、webapp利用のアプリケーションで必須のライブラリです。
class MainPage(webapp.RequestHandler):
これは、クラスの定義です。()は、継承するクラスを指定するものです。ここでは、「class MainPage(webapp.RequestHandler):」という記述がありますね? これは、「webapp.RequestHandlerというクラスを継承して、MainPageというクラスを定義する」という意味になります。
def get(self):
これは、クラスに用意するメソッドや、関数を定義するためのものです。()には、引数が指定されます。クラスのメソッドを定義する場合には、必ず「self」という引数が台1引数としてつけられます。これは、このクラスのインスタンス自身を示すものです。Pythonでは、インスタンス自身はこのようにselfという引数で渡されるようになっているのです。
if __name__ == "__main__":
    main()
最後にあるこの部分は、メインプログラムとなるmain関数を呼び出す処理です。それまでクラスや関数の定義が続いており、実際に実行される処理は、この2行だけなのです。ここでmain関数が呼び出され、このmain関数から必要に応じてクラス内のメソッドなどが呼ばれ、動いているのです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app


class MainPage(webapp.RequestHandler):
    
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

application = webapp.WSGIApplication([('/', MainPage)], debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()
※関連コンテンツ

「PythonによるGoogle App Engine(GAE)プログラミング入門」に戻る