__init__.py役割 - 重版

__Init.py__役割は、import文を簡素化することです。

1無__init__.pyインポート機能
__init.py__は、モジュールや関数をインポートする方法であると私たちは不在を見てみましょう。私は、次のようなディレクトリ構造があることを前提としています。

。#Main.pyディレクトリ
| - main.py

| - my_module1.py
  | - my_function1は()関数#1 my_module.pyです

| - my_package#のmy_packageはフォルダです
  | my_module2.py -
    | - my_function2()

main.pyでmy_function1()とmy_function2()を呼び出したい、次のimport文を入力することができます。

輸入my_module1
my_package輸入my_module2から

###调用my_function1()和my_function2()
my_module1.my_function1()
my_module2.my_function2()
1
2
3
4
5
6

my_module1輸入my_function1から
my_package.my_module2輸入my_function2から

my_function1()
my_function2()
。1
2
。3
。4
。5を
見ることができ、他のモジュールのいかなる__init.py__、インポート機能が存在しない、層を見つけることが必要である、インポートステートメントファイルの長さが中間層の数に比例します。

2 __init__.pyインポート機能があり
、コールmy_function2()、my_module2からインポートする必要があり、しばらくmy_module2再びmy_packageフォルダなので、そこにimport文以上には:

以下からのインポートmy_function2のmy_package.my_module2
1
my_function2でmy_package場合、我々は見つけるためにドリルダウンする必要はありませんし、次の文で導入することができます。

my_function2 my_packageをインポート
1
と__init__.pyは、この機能を実現することができるようになります。
我々はmy_packageをインポートすると、Pythonはこのフォルダを見ていきますが、この文書を__init__.py、もしあれば、クラス(クラス)最初のメソッド__init __で、my_packageを初期化すると等価である、この文書の最初の実装(上)アクションは似て初期化されています。今まで、私たちはmy_packageにローダmy_function2を開始し、このモジュールmy_packageをインポートすることができるので、main.pyは、我々は上記の文と輸入my_function2できるようになります。
__init__.py内容は次のように書くことができます。

インポートmy_function2 .my_module2から
1
今、私たちは次のようなディレクトリ構造がある、より多くの__init__.py超えるフォルダmy_package:
#1 main.pyディレクトリを。
| - main.py

| - my_module1.py
  | - my_function1は()関数#1 my_module.pyです

| - my_package my_package#はフォルダです
  | -上記__init__.py#コンテンツ
  | - my_module2.py
    | - my_function2()
私たちは内容をテストすることができます次のように変更をmain.py:

輸入my_package

(DIR(my_package))印刷
1
2
3
印刷内容で、我々は「my_function2」を参照し、my_packageにロードされている次のように、我々は簡単にmain.pyにmy_package my_function2からインポートできるように、my_function2レーンを記載:

以下からのインポートmy_function2のmy_package
1
ポイントで3 __init__.py(。)
私は、ポイントを追加するために、なぜmy_module2の前に、非常に奇妙な感じにする__init__.pyコンテンツを参照(。)、それが何点も意志を追加しませんか?
ポイントがなければ、その後、文句を言うんだろう:なしmy_module2このモジュールを。
my_module2ので、我々は、init__.pyはもちろん見つけることができない現在の作業ディレクトリからモジュールmy_module2を見つける__、main.py、main.pyは、単語を追加しないディレクトリ内の現在の作業ディレクトリを実行しているためですmy_packageフォルダにあります。従って点をもたらす(。)は、一般的に導入を__init__.py、それは__init__.pyの導入からディレクトリモジュールを表します。学生の手をしたい、あなたは__init__.pyに参加することができます。

輸入OS

(os.getcwdを())印刷
1
2
3
これは__init__.pyの私の小さな表面的な理解ですが、私にとっては、この程度の現在の理解は、人々が同じ質問を持って支援したいために、十分です。
----------------
免責事項:この記事はCSDNブロガー「cgyx008の元記事である、CC 4.0 BY-SAの著作権契約書に従ってください、複製、元のソースのリンクと、この文を添付してください。 。
オリジナルリンクします。https://blog.csdn.net/cgyx008/article/details/99710504

おすすめ

転載: www.cnblogs.com/lnn123/p/12355617.html