Pythonのモジュール import でなぜ fromをつけるのか?理由がわかって超納得

Pythonの基本から機械学習まで独学できる!「PyQ」をオススメする理由Pythonの基本から機械学習まで独学できる!「PyQ」をオススメする理由 Python

Pythonではモジュールをimportすることで、いろいろな機能を使えるようになりますよね。

たとえば、リストに入った数字をランダムに並べ替えたいときなんかは random モジュールをインポートして使うことで簡単に実装可能です。

以下は、PythonのオンラインスクールであるPyQの講義で使われているコードです。

とまあ、こんな感じで先頭に import random  とすることでrandomモジュールを使えるようになるんですよね。

それで今日の本題が、じつは import random  だけではなく、以下のような書き方もできるということです。

注目してほしいのは先頭です。最初は importだけだったのが、 from  から始まる文になっています。

そして、 import  のうしろに choice, randint, shuffle  という3つの関数が並んでいます。

最初のコードと2つめのコード、やっていることは一緒で実行結果も一緒です。では、何がちがうのでしょうか?

ポイントは関数の書き方にあります。たとえば、 num_randint = randint(1, 100) という書き方。

これって最初に紹介したのコードだと num_randint = random.randint(1, 100) だったんですよね。つまり、 random  あるかないかのちがいです。

from random import choice, randint, shuffle と書いておけば「関数はすべて randomモジュールのやつだよ」と宣言できるので、コード内では random.関数  と書く必要がなくなるわけです。つまり、コードが省略できてスッキリするわけですね。

いままであまり意識しないでコードの写経をしていたので、これに気づいたときは「なるほど!」と感心しちゃいました。

import文によるモジュールの追加はPythonにおいてほぼ確実に使うものなので、from import 文が出てきてもすんなり理解できるようにしておきたいですね。

Python
スポンサーリンク
シェアする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
サイト運営者
厳しい現実

30歳からFXのデイトレを始めました。移動平均線とMACDを使ったシンプルな手法。目標は月収30万円!「大数の法則」を信じて、淡々と同じトレードをこなすスタイルを目指しています。

厳しい現実をフォローする
厳しい現実™【FXトレード日誌】

コメント