oikakerublogの日記

知識ゼロから色々しらべてみた話し

Python import文について

f:id:oikakerublog:20170724124339p:plain
◆import sysって?
・sysモジュール(様々な変数や関数が含まれている)をインポートしている。sysモジュール以下すべての変数&関数を“sys.を先頭に付ける形で利用できるようする。
・ちなみにimport文は、import {.pyを除いたファイル名}構文

>>>import sys


◆たとえばどんな感じ?

☞ print(sys.path)
・sys.pathはpythonパス(PYTHONPATH)をリストにして返す。絶対パスの文字列リスト。
・「path 変数は、モジュール検索パス、すなわちPythonがモジュールのインポート時にモジュールの検索対象とするディレクトリーのリストです。1個目の空文字列'' は、カレント・ディレクトリーを表します。」@IBMウェブサイト

>>>print(sys.path)


☞ print(sys.version)
・pythonやanacondaのバージョンを表示。

>>>print(sys.version)


◆とりあえず手を動かして"import"に慣れるコード書いてみる

f:id:oikakerublog:20170725002501p:plain
●目的:
・mainプログラムにmoduleプログラムを読み込んで動かす
・天気予報をランダムに表示 (O'REILLY入門Python3の139ページ)

f:id:oikakerublog:20170724235327p:plain

●予め用意するmoduleプログラム
・文字列のリストからランダムに1つを選択。
・tenkiyosoku.pyという名前で所定のディクトリに保存。
・なお、 randomモジュール&choice関数はputhon標準

def get_yosoku():
    from random import choice
    possibilities = ['晴れ','雨','曇り','雪']
    return choice(possibilities)

●mainプログラム
・moduleプログラムにアクセスし、その中のget_yosoku()関数を実行する。
・一行目を過ぎ一旦インポートされてしまえば、[moduleプログラム]名のプリフィックスを付けてmoduleプログラムの全ての部分にアクセスできる。

import tenkiyosoku

description = tenkiyosoku.get_yosoku()

print('実行のたびランダムに天気表示するよ:', description)

結果:
f:id:oikakerublog:20170725000005p:plain

◆ Memo:
・sys.path…中身はリスト。os.path…モジュール。
・参考にしたサイト IBMウェブサイト
https://www.ibm.com/developerworks/jp/linux/library/l-pyint/index.html

(2017.7.24.)