はじめに
「Oracle Cloud Hangout Cafe」(通称「おちゃかふぇ」/以降、OCHaCafe)は、日本オラクルが主催するコミュニティの1つです。定期的に、開発者・エンジニアに向けたクラウドネイティブな時代に身につけておくべきテクノロジーを深堀する勉強会を開催しています。
連載第4回の今回は、Pythonを使ったAPIサーバーをテーマとして取り上げます。機械学習などのイメージもあるPythonですが、WebフレームワークのDjango/Flask/FastAPIなど、Web APIの実装言語としても近年では人気があります。そこで、Pythonの基礎知識から、Django/Flaskそれぞれの特性、データベースとの接続など、Pythonで記述したWebアプリケーションがどのようものになるかを紹介していきます。
アジェンダ
今回は、以下のアジェンダの流れに従って、順に解説します。
- Python超基礎
- 概要、環境構築、Hello World
- PythonのWebフレームワーク
- Django、Flask、FastAPI
- PythonでAPIサーバーを作ってみよう
- データベースと接続
- コンテナ化
- gRPC with Python
発表資料と動画については、下記のリンクを参照してください。
【資料リンク】
【動画リンク】
Python超基礎
Pythonの概要
Pythonは1990年代初頭から公開されています。プログラムの「読みやすさ・わかりやすさ」を重視している言語で、インデントがコードブロックとしての意味を持つ独自の性質があります。
実用的で高い拡張性も備えるという特長があり、システム管理、ツール・アプリケーション開発、科学技術計算、Webシステムなど、幅広い分野で利用されている言語です。
Pythonの環境構築
Pythonで開発する際のキーワードについて解説します。
- PythonとAnaconda
- Python -> GeneralなPython
- 本記事はこちらを解説しており、Linux上の動作を前提
- 公式よりダウンロード
- Anaconda -> 機械学習などに利用するディストリビューション
- Python -> GeneralなPython
- Python2とPython3
- 2系と3系で互換性なし
- venvやpyenvで開発環境を分けて使い分け
- 本記事はPython3前提
- PyPI(pip)
- Pythonパッケージのインストールなどを行うユーティリティ
- Python 3.4以降には標準で付属
- venv(virtualenv)
- 公式が提供するPythonのパッケージ管理ツール
- Pythonプロジェクト毎に管理が可能
- Pythonそのもののバージョンを管理するPyenvとは使い分け(もしくは併せて利用)
- IDE(VSCode / Jupyter)
- VSCodeなどの多機能エディタにはPythonでの開発を支援する拡張機能が存在
- インタラクティブコンピューティング用としてのJupyter NotebookはPythonでの利用が一般的
・venvの使い方
Pythonが実行できるVMなどを用意し、仮想環境を作成します。コマンド内、2つ目のvenvは、ライブラリなどがインストールされるディレクトリの名称です。
$ python -m venv venv
仮想環境のアクティベート
$ . venv/bin/activate
Pythonで「Hello World」
早速Pythonを実行してみましょう。
・対話モード
まず対話モードを起動します。
$ python
Hello Worldを出力してみます。
>>> print('Hello World!')
Hello World!
対話モードを終了させるには、以下の文を実行します。
exit()
・スクリプトで実行hello.pyというファイル名で、以下の内容を記述したファイルを作成します。
python
print('Hello World!')
以下のコマンドを実行します。
$ python hello.py
Hello World!
- この記事のキーワード