1
/
5

【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の可能性を引き出していきたいと思ってます!!


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

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


PHPエンジニア
キャリアアップしたい!!フリーランスエンジニアをWanted!
ロジカルスタジオは、テクノロジーとデザインの視点からクライアントの課題解決をめざす、大阪のクリエイティブプロダクションです。 クライアントの期待を超えて「もっと良くなる、を見つける」のが私たちのスタイル。企画・提案からデザイン制作・システム構築、運用、改善提案をワンストップで行えるのが一番の強みです。近年ではその実績と品質が評価され、案件も急増しています。 代表の古川が掲げる企業理念は「絆を大切に、周りの人を豊かにし、社会に貢献する」。 私たちはこのミッションを推進するため、「新しい技術へのチャレンジ精神」を軸に、「切磋琢磨する仲間」と「働きやすい職場環境」を整え、「成長と可能性を大切にする風土」を育ててきました。 2019年9月に増床し、外部向けのセミナーにも活用できるカンファレンスルームを拡充。スタッフによる公式ブログや、マスコットキャラクター「ロージー&カール」によるTwitterなど、情報発信も強化しています。 可能性の芽をすくい上げられるこの場所を、より大きくしていきたい。 私たちと一緒に、このビジョンを実現しませんか。
株式会社ロジカルスタジオ
Invitation from 株式会社ロジカルスタジオ
If this story triggered your interest, have a chat with the team?
株式会社ロジカルスタジオ's job postings
9 Likes
9 Likes

Weekly ranking

Show other rankings
Like ryouta iwama's Story
Let ryouta iwama's company know you're interested in their content