自分で書いたPythonファイル間で相互に呼び出す方法

anonymity
リリース: 2019-06-17 16:03:53
オリジナル
10047 人が閲覧しました

自分で書いた Python ファイルはどのようにお互いを呼び出すのでしょうか? Pythonではモジュールライブラリがよく使われますが、よく使うモジュールは自分でカスタマイズすることもできますが、どうやって呼び出すのでしょうか?

自分で書いたPythonファイル間で相互に呼び出す方法

#モジュールは相互に呼び出します

同じレベルのディレクトリを呼び出す場合の 2 つのメソッド

 import module
 print(module.add(3,8))
 
 from module import add
 print(add(2,4))
ログイン後にコピー

同じレベルのディレクトリのサブディレクトリの呼び出し

 from 文件相互调用 import cal
 print(cal.sub(3,8))
 from 文件相互调用.cal import  sub    #这种情况下加一个点(.),然后写目录
 print(sub(3,9))
ログイン後にコピー

同じレベルのディレクトリのサブディレクトリのサブディレクトリの呼び出し

 from 文件相互调用.文件2 import cal2
 print(cal2.mul(3,7))
 
 from 文件相互调用.文件2.cal2 import mul
 print(mul(3,7))
ログイン後にコピー

順番に 1 レベル深く進みます

from 文件相互调用.文件2.文件3 import cal3
print(cal3.divi(8,2))
from 文件相互调用.文件2.文件3.cal3 import  divi
print(divi(8,2))
ログイン後にコピー

特別な状況

from 文件相互调用.文件2 import 文件3    #这种不推荐用这种的
print(文件3.cal3.divi(8,2))
ログイン後にコピー

特殊な呼び出し形式ですが、

#第一に実行効率が低い、第二にファイルが重複しているかどうかを判断できない、などの2つの欠点があります。 .

from 文件相互调用 import *
print(cal.sub(3,8))
ログイン後にコピー
from 文件相互调用.文件2.文件3 import *
print(cal3.divi(8,2))
ログイン後にコピー

複数のモジュールを同時に呼び出す場合、省略形は次のようになります。

import xx, xx,xx, ...   #即用逗号隔开
ログイン後にコピー

import がモジュールを呼び出すと、

1 という 2 つの処理が行われます。呼び出されたモジュールは一度実行されます

2 ,変数名(つまりモジュール名)を導入します

通常、すべてのプログラムは一つのファイルに書かれるのではなく、機能ごとに別のファイルに書かれます

例:

bin文件时程序的的入口
main 文件里只写逻辑程序
module 文件里面只写功能程序
ログイン後にコピー

パッケージの機能:

1. モジュールを整理するために使用され、モジュールの機能に従ってサブパッケージ化できます。 ;

2.モジュールの競合を避けるため、同じ名前の場合 モジュールが異なるパッケージに配置されている場合、競合は発生しません。

if __name__ == "__main__":
    print(add(3,5))
    print('ok')
print(__name__)
ログイン後にコピー

if __name__ == "__main__": 2 つの関数があります:

1. ファイルの結果をテストするために特定のファイルを置きます。ただし、ファイルが呼び出されるとき、ステートメントは実行されないこと。

簡単に言えば、呼び出されたファイルをテストするためです。

2. 他の人が呼び出すだけのメイン プログラムを他の人が変更できないように、呼び出し元のプログラムにこの文を書きます。

以上が自分で書いたPythonファイル間で相互に呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート