Python import時の記述ルール

Python学習【365日チャレンジ!】74日目のマスターU(@Udemy11)です。

突然ですが、その日その日によって気分が変わると、安定的な仕事ができません。

毎日やることをルーティン化すれば、効率よく安定して仕事をこなすことができます。

例えば、休日でも毎日起きる時間を決めておくとか、毎日夕飯前に腹筋を10回やるとか、昼休みに10分は本を読むとか決めておいて、しっかりと継続することで毎日のリズムが整って、スムーズに仕事をすすめることができます。

最初のうちは習慣化されていないので、少ししんどいかもしれませんが、習慣化してしまうとそれが当たり前になるので、逆にやらないと気持ち悪くなってしまいます。

マラソンランナーが毎日走らないと気持ちが悪いというようなものです。ほんと、

継続は力なり

ですね。

それでは今日も、Python学習を継続していきましょう!

昨日の復習

昨日は、サードパーティーのライブラリについて学習しました。

Pythonistaでコンソールの出力文字色を変えるライブラリをインポートしましたが、うまくいきませんでしたが、Pycharmでは問題なく出力できました。

from termcolor import colored

print(colored('赤い文字', 'red')

print("\033[31m"+'赤色'+"\033[0m")

出力結果

赤い文字
赤色

通常、コンソールへの赤字出力は、\033[31m\033[0mで文字を囲むことでできるみたいなのですが、Pythonistaではできませんでした。

とりあえず、現状では特に色出力の必要がないので、この問題は一旦気にしないことにしました。

それでは、本日の学習であるライブラリのimportのルールについて学習しましょう!

importする際のルール

ライブラリをインポートするだけでいろいろ便利な機能を利用することができるのが魅力のPythonですが、コードの記述についてはかなり細かいルールがあります。

これまでにも、インデントは半角スペース4つ分とか、1行は79文字以内などといったルールを学習しましたが、ライブラリのインポートを記述する際にもルールがあります。

もちろん、ライブラリを一つだけしかインポートしないのなら問題はありませんが、実際のプログラムでは、いくつかのライブラリをインポートすることになるので、このルールに準じた記述を憶えておきましょう。

importの記述ルール

順番としては、標準ライブラリ > サードパーティーライブラリ > 自作パッケージ > 自作モジュールの順で上から記述し、それぞれの間に1行の空白行をいれます。

さらに、それぞれのグループでの並びは、アルファベット順で記述します。

import collections
import os
import sys

import termcolor

import session

import day0423

標準ライブラリであるcollectionsossysがアルファベット順に並び、1行あけてサードパーティーのtermcolor、1行あけて自作パッケージのsession、最後にモジュール(pythonファイル)のday0423をインポートしています。

Pythonを学習し始めたときは、自分だけしかみないからといって、ルールを無視した記述の仕方をするのではなく、ルールに従ってコードを記述する癖をつけることで、作ったパッケージを世の中に出すことになったときにコードを修正しなくてすみます。

ちょっと変わった人!?であれば、ルール通りというのが気に食わないかもしれませんが、確立されたPythonのルールが身に付いていると、あとになってあなたのアドバンスになることは間違いありません。

sysでシステムの情報がわかる

例として記述した標準ライブラリのsysですが、システムのバージョンやプラットフォーム情報などを出力することができます。

上記のimportの下に、次のコードを追加してみました。

print(sys.version)
print(sys.platform)

出力結果は次のとおり

3.6.1 (default, Aug 24 2017, 16:20:00) 
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)]
ios

Pythonのバージョンとプラットフォームが出力されました。

ルールは大切

基本的にPythonは、C言語などと比べて、コードが非常にシンプルで、わかりやすいのが特徴で、イメージ的にはちょっと適当っぽい感じがしていました。

とはいえ、プログラミングの言語なので、きちんとしたルールを守らないとわたしのように、エラーばかり出力してしまいかねません。

基本的に、推奨されているルールを厳格に守らずに書いたコードでもきちんと作動はするのですが、やはり、ルールを守って統一した書き方をすることで、他のプログラマーがみたときにわかりやすく、共同で開発をすすめるときは必要不可欠だということですね。

なので、ルールを知っているのなら、きちんとルールに従った記述方法を取り入れてPythonを勉強していったほうがいいでしょう。

人と違うことをよしとするわたしは、どうしても人と違う書き方ができないかと考えちゃうんですが、こればっかりはきちんとルールに則って、コードを書かないといけないなと考えを改めています。

ということで、今日はこのへんで、Good Python!