⚠️ 記事内に広告を含みます。

pythonのimport, as, fromって何?

pythonのimport, from asとは?

ライブラリを使用するのに使うimportやas, fromなどを紹介します。

先頭に書くimport, as, fromの意味

pythonのコード先頭にfrom OO import XX as △△という表記は標準ライブラリを使用するのに使う記法です。

https://docs.python.org/ja/3/library/index.html

単純な四則計算や条件分岐以外の多種多様な機能を使うにはライブラリの使用が不可欠です。

osモジュールを例に解説

osモジュールはオペレーションシステムの機能を利用できる標準ライブラリです。
Linuxのシェルを操作するようにファイル・ディレクトリの操作(cd, chmod)やunameの取得などがpythonで利用可能になります。

https://docs.python.org/ja/3/library/os.html

  1. importでosモジュールを利用可能にする
    • import os
  2. osモジュール中のgetcwdとgetloginでカレントディレクトリとログインユーザーを表示
    • os.getcwd()
    • os.getlogin()
  3. 取得した情報をprintで表示する

実際のコード例です。

import os

cur_dir = os.getcwd()
getlogin = os.getlogin()

print(cur_dir)
print(getlogin)

作成したtest.pyを実行すると下記のような表示がでてきます。

> python test.py

G:\Dev\python   #これがカレントディレクトリ
test_user    #これがログインユーザー名

fromはなんの意味がある?

ライブラリを使うだけならimportだけ覚えればOKです。

fromやasはコードを省略して書くのにつかいます。

osモジュールの中にはカレントディレクトリを取得するgetcwdやログインユーザを取得するgetloginなど様々なオブジェクトがあります。

例えばカレントディレクトリを取得する場合はgetcwdを使います。

import os

print(os.getcwd())
-----
出力-> /root/dev/python3

ダメな例 → importしてもos.~を省略できない。

import os

print(getcwd())
-----
出力->     print(getcwd())
NameError: name 'getcwd' is not defined

fromを使うといちいちos.getcwdって書かなくてよい

osモジュールのgetcwdをインポートするというように書くとgetcwdをそのまま使える

from os import getcwd

print(getcwd())
-----
出力-> /root/dev/python3

逆に先ほどと同じos.getcwdの書き方はできない

from os import getcwd

print(os.getcwd())

---
出力→    print(os.getcwd())
NameError: name 'os' is not defined

os.getcwdというように書きたければimport osが必要

from os import getcwd
import os

print(os.getcwd())

---
出力→    
/root/dev/python3

asを使って省略名を使うことも可能

asのあとに省略名を記述すればそれで呼び出すことも可能

from os import getcwd as gc

print(gc())
---
出力→    /root/dev/python3

asを使った場合はgetcwdでは表示できない

from os import getcwd as gc

print(getcwd())
-----
出力->     print(getcwd())
NameError: name 'getcwd' is not defined

importの記述ルール

・importは複数記述する時はカンマで区切らないで一行ずつimportする

import os, sys → だめな例

↓
import os
import sys

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です