【python入門】webアプリケーションフレームワーク・サンプルを徹底解説!

  • 2017-9-18

pythonは、最近、人工知能の開発で利用されているので、よく耳にするようになったプログラミング言語です。webアプリの開発といえば、PHPやJava、Rubyあたりが有名ですが、pythonも実はwebアプリの開発に向いている言語です。文法も非常に簡単な仕様で、初心者でも学びやすいのが特徴です。 本稿では、pythonでwebアプリの開発を行うために知っておきたい知識について解説いたします。

pythonの代表的なwebアプリケーションフレームワーク

資格,kuguru,クグル,くぐる

フレームワークといえば、Ruby on RailsやStrutsが有名ですが、pythonにも優れたフレームワークがたくさんあります。

Django

Djangoは、pythonで作られたフルスタック・フレームワークです。必要なものはすべてそろっています。テンプレートやDBアクセスを行うために、他からモジュールを追加したりする必要はありません。もちろん、拡張モジュールもありますが、基本的にはDjangoだけで完結します。

また、ORM(Object Relational Mapping:オブジェクト関係マッピング)の機能が非常に優れています。DBアクセスのためにSQLを1行も書かない、ということができるくらいです。さらに、管理サイトのできが非常にすばらしいです。管理サイトだけでデータ投入、データ検証ができるくらいです。特にプロトタイプを作る場面で、生産コストをぐっと下げることができます。これだけ秀逸なフレームワークですが、学習コストは低いです。

Bottle

Bottleは、Djangoと違ってマイクロフレームワークです。たったひとつのスクリプトファイルからできているので、インストールが超簡単で、インストールでつまづく人は、まずいません。それでも慣れてしまえば簡単にWebサービスを公開できるくらいに使いやすいフレームワークです。フレームワーク初心者は、まずはこのBottleから始めてみるとよいでしょう。

Flask

Flaskも軽量系のフレームワークです。しかも数行書けば(簡単な内容ではありますが)Webアプリケーションを作ることができます。手軽に始めるには最適なフレームワークです。ただし、大きなアプリケーションを作ろうと思うと、フォルダ構成やクラス設計など、決めなければいけないことがたくさん出てくるので、フレームワークとしての旨味が少なくなります。

Tornade

Tornadoは、Djangoがフルスタック型のフレームワークなのに対して、自分で必要なコンポーネントを組み合わせていくタイプのフレームワークです。非常に多機能で、本家サイトのドキュメントも充実しています。ただ、日本語で解説しているサイトは少なめです。
性能的には、非同期ネットワークライブラリが充実しているので、シンプルなコードで高速に動作するWebサービスを手軽に作ることができます。

pythonのWebアプリケーションサンプル

キーボード,プログラミング,kuguru,クグル,くぐる

イメージをつかみやすいように、サンプルコードを掲載します。以下のコードは、Tornadoフレームワークの公式で公開されているものです。最小限のことしか書かれていませんが、動かすとブラウザに「Hellow, world」と表示されます。

コードサンプル

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write(“”Hello, world””)

application = tornado.web.Application([
(r””/””, MainHandler),
])

if __name__ == “”__main__””:
application.listen(8888)
tornado.ioloop.IOLoop.current().start()

pythonのWebアプリケーション開発入門

kuguru,クグル,くぐる,開発入門

pythonを勉強するための書籍をお探しの場合は、以下を参考にしてみてください。

おすすめの入門本

初めてのPython 第3版

700ページ強のボリュームですが、この1冊を読み上げれば、基礎からすべて網羅することができます。プログラミング初心者にも、他の言語は習得していてpythonが初めてという方にもおすすめできます。

基礎Python 基礎シリーズ

短いサンプルコードがたくさん掲載されていて、実際にどのようにコーディングすればよいかが非常にわかりやすい本です。言語仕様や文法よりも、まずはコードを見たいという向きにはおすすめの一冊です。

Pythonスタートブック

こちらも豊富なサンプルソースコードが掲載されています。また、見た目もわかりやすくなるように作られていて、楽しく学習できるよう工夫された本です。完全にプログラミング初心者の方におすすめです。

➡【初心者から上級者まで】Python勉強のための学習本11選!(2017年版)

おすすめの無料学習サイト

pythonは最近、日本でも盛り上がりを見せていますので、初学者向けに作られた学習サイトも出てきました。

Python入門

基本事項から始まり、文字コード、文字列、数値、変数、条件分岐と、pythonに関する知識を系統立てて整理してくれている良サイトです。ただ、情報量が多いので、はじめての方はもう少しスタートアップを手助けしてくれるサイトでイメージをつかんでから、辞書引きするように利用するのが良いでしょう。

Python入門完全攻略ガイド

pythonとは?から始まって、どうやって学習すればよいか、アプリはどうやって作ればいいのかといった、初心者の声に応えるように構成されたサイトです。とりあえず文法よりも概略を知りたい、という方に非常に向いているので、まずはこのサイトに一通り目を通すとよいでしょう。

Python入門サンプル集

pythonで書かれた数値計算、機械学習、ゲーム制作のサンプルコードを掲載したサイトです。とはいっても入門者向けで、上手にわかりやすくまとめられたサイトです。pythonを勉強し始めて、言語仕様や文法は一通り理解できた、となったら、このサイトを見てみましょう。

まとめ

本稿では、pythonでwebアプリを開発するために知っておきたい知識について解説しました。pythonは世界的には大流行の言語です。日本でも最近盛り上がりを見せていて、web開発にも使われるようになってきました。また、人工知能関連のモジュールが充実しているため、人工知能の開発にも積極的に利用されています。これから学ぶ価値が十分にある言語ですので、本稿で紹介した教本や入門サイトを参考にしながら、ぜひ学習してみてください。

ページ上部へ戻る