【Python】オフサイドルールと標準ライブラリについて

初めまして!今年の春入社しましたガンちゃんです。

エンジニア

ガンちゃん

だいぶ会社周辺で行きつけのお店が増えてきました!!

エンジニア

ガンちゃん

皆さん、Pythonをご存知でしょうか?

Pythonは、Google社の社内標準言語の1つで、人工知能開発言語として有名です。

人工知能開発以外にも、Webバックエンド利用や、便利な業務自動化ツールなど、

幅広く使用することができる、大変面白い言語です!

今回は!

オフサイドルール

標準ライブラリ

この2点の使い方についてご紹介していきます。

 

実行環境

//Python version
Python 3.9.0

オフサイドルールとは?

インデント(字下げ)によってコードかたまり(ブロック)を明確に指定するルールのことです。

if文やfor文、関数、classなどコードのかたまりが必要になるときに、このルールでコーディングします。

変数の値が、偶数か奇数かを判定するプログラムを、PHPと見比べてみましょう。

オフサイドルールを使わず、括弧{}を使うと、下記のようなコードになります。

<?php

value = 10;
if(value % 2 == 0){
  echo '偶数';
}else{
  echo '奇数';
}

*********結果の出力*********
偶数

 

Python用いて、オフサイドルールで記述すると、下記のようなコードになります。

value = 10
if value % 2 == 0:   
    print('偶数')
else:
    print('奇数')

*********結果の出力*********
偶数

後者のほうが、コードがシンプルに書けてますね!

 

インデント(字下げ)を正しく行わないと構文エラーになります。

value = 10
if value % 2 == 0:
print('偶数')  #この行のインデントでエラー
else:
    print('奇数')

*********結果の出力*********
print('偶数')
^
IndentationError: expected an indented block #インデントされたブロックが必要です

オフサイドルールがなぜ導入されているのか?

大まかにいえば、以下2点のメリットを享受するために導入されています。

  • インデント(字下げ)をルールによって強制するので、だれが書いてもわかりやすいコードになる。
  • チームで開発を行うとき、統一性のあるコードを書くことが出来る。

標準ライブラリとは?

プログラムを組むときに、便利な関数を備えたモジュールを、ひとまとめにしたファイルのことです。

標準ライブラリは、Pythonをインストールするとき一緒にインストールされます。

標準ライブラリを使用することで、複雑な処理のプログラムを簡単に実装することが出来ます。

 

下記の例ではjsonライブラリを使って、連想配列をjsonに変換しています。

echo '{"foo": "lorem", "bar": "ipsum"}' | python -mjson.tool

*********結果の出力*********
{
"bar": "ipsum",
"foo": "lorem"
}

代表的な標準ライブラリ例

ライブラリ名 説明
json   Pythonでjsonを扱えるようにするライブラリ
random  疑似乱数を生成できるライブラリ
math 数学的な計算を実行できるライブラリ
pip Pythonのパッケージ管理システムライブラリ
Numpy 科学技術計算で使用されるライブラリ
http.server HTTP (web) サーバを実装するためのライブラリ
socketserver ネットワークサーバを実装するタスクを単純化するライブラリ

ライブラリ読み込み方法

import文を使うことで、読み込むことができます。

1行で簡単に読み込めるので、大変便利です!

import モジュール名

標準ライブラリを使った簡易Webサーバーの立ち上げ

それでは標準ライブラリーを使って、Webサーバーを立ち上げてみます。

今回は 、Pythonスクリプトに記述する方法で、Webサーバーを構築します。

※ファイルとフォルダは、下記構成になっています。

PythonFolder
  ├─assets
  │  ├─css
  │  └─js
  │
  │─index.html
  │─startServer.py

 

標準ライブラリを使って、サーバーの設定と立ち上げを行います。

startServer.pyに下記のように記載します。

import http.server
import socketserver 

PORT = 8000  #port番号設定
Handler = http.server.SimpleHTTPRequestHandler 

with socketserver.TCPServer(("", PORT), Handler) as httpd: 
print("serving at port", PORT) 
httpd.serve_forever()

*********ターミナルの出力*********
//このファイルの実行時、下記文字列が出力されればWebサーバーが立ち上がっています。
serving at port 8000

それでは、立ち上げたWebサーバーにアクセスしてみます。

ブラウザに、下記URLでアクセスします。

http://localhost:8000/

 

無事にWebページ表示できました!!

最後に

いかがだったでしょうか。

Pythonは非常にバラエティーに富んだ、面白い言語です。

もっと勉強してPythonの可能性を引き出していきたいと思ってます!!

ところで弊社ロジカルスタジオではバックエンドエンジニアを募集しています。

一緒に様々な技術の可能性を引き出してくださる方、ご応募お待ちしております↓

ロジカルスタジオ 採用サイトはこちら