from importと別名
このレッスンでできるようになること。from ... import ... と as を使い分けて、必要な関数だけを読みやすい名前で読み込めるようになります。
3つの書き方
同じ math.ceil を使うのでも、読み込み方は3通りあります。
import math # math.ceil(3.2)
from math import ceil # ceil(3.2)
from math import ceil as round_up # round_up(3.2)import math はモジュールごと読み込む書き方で、どこから来た関数かが呼び出し側で一目で分かります。from math import ceil は必要な関数だけを直接持ってくる書き方で、何度も呼ぶ関数を短く書けます。as を付けると好きな名前を付けられます。
どれを選ぶか
判断の目安は次のとおりです。
- そのモジュールから2つ3つの関数を何度も呼ぶなら
fromで直接読み込む - 名前だけでは何のことか分からない関数なら
import mathのままモジュール名を残す ceilのように英語のままだと意味が伝わりにくいものはas round_upのように日本語感覚で読める名前にする
from math import * のようにアスタリスクで全部読み込む書き方もありますが、どの名前がどこから来たのか追えなくなるので、実務では使いません。
家計簿での使いどころ
家計簿では、合計を出したあとに平均を切り上げたり切り捨てたりする場面が続きます。ceil と floor を毎回 math. 付きで書くと式が長くなるので、この2つだけを from で読み込むと集計処理がすっきりします。読み込み方を変えても動きは同じで、変わるのは読みやすさだけです。
要件
- from math import で ceil と floor を読み込むこと
- as を使って round_up と round_down という別名を付けること
- 戻り値は [合計, 平均の切り上げ, 平均の切り捨て] の3要素リストにすること
入出力例
summarize([500,1200,330]) → [2030,677,676]
summarize([100,200]) → [300,150,150]
summarize([850,480,320,1200]) → [2850,713,712]ヒント
編集 LuaGate編集部