2013年3月15日金曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のV部(モジュール)の20章(パッケージインポート)1.を解いてみる。

その他参考書籍

1.

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

a = 10
def f():
    print("Hello, Python!")

sample_folder/sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

def f():
    print("Hello, World!")

パッケージインポートの際には、ディレクトリパス中の各ディレクトリに__init__.pyというファイルが必要。このファイルがなければそのディレクトリのモジュールはインポートできない。ディレクトリの重複等に備えてこのファイルが必要になっている。

このファイルはパッケージインポートの際の「初期化処理」に利用される。

sample_folder/__init__.py


と思ってたら、python3.3では必要ないみたい。What’s New In Python 3.3 — Python v3.4.0a0 documentationPEP 420 -- Implicit Namespace Packagesにこのことについての記述があった。

入出力結果(Terminal)

$ ./sample.py
Hello, World!
$ rm sample_folder/__init__.py
$ ./sample.py
Hello, World!
$

0 コメント:

コメントを投稿