ライブラリを使用するのに使う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
- importでosモジュールを利用可能にする
- import os
- osモジュール中のgetcwdとgetloginでカレントディレクトリとログインユーザーを表示
- os.getcwd()
- os.getlogin()
- 取得した情報を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