Pythonモジュールの紹介

巴扎黑
リリース: 2017-08-02 11:51:22
オリジナル
1600 人が閲覧しました

C 言語プログラミングの経験のある友人は皆、C 言語で sqrt 関数を参照したい場合は、ステートメント "#include" を使用して math.h ヘッダー ファイルを導入する必要があることを知っています。通常では作れません。では、Python でいくつかの組み込み関数を参照したい場合、どのように対処すればよいのでしょうか? Python にはモジュールと呼ばれる概念があり、これは C 言語のヘッダー ファイルや Java のパッケージによく似ています。たとえば、Python で sqrt 関数を呼び出すには、次のように import キーワードを使用して数学モジュールを導入する必要があります。 Python のモジュールについて学びます。

1. モジュールの導入

Python では、キーワード import を使用してモジュールを導入します。たとえば、モジュール math を参照したい場合は、ファイルの先頭で import math を使用できます。 math モジュールで関数を呼び出すときは、次のように引用符で囲む必要があります:

モジュール名 関数名

なぜこのようにモジュール名を追加して呼び出す必要があるのですか?複数のモジュールに同じ名前の関数が含まれる場合があるため、このとき関数名だけで呼び出すとインタプリタはどの関数を呼び出せばよいのかわかりません。したがって、上記のようなモジュールを導入する場合は、呼び出し元の関数にモジュール名を追加する必要があります。


import math#这样会报错print sqrt(2)#这样才能正确输出结果print math.sqrt(2)
ログイン後にコピー

モジュール内で特定の関数を使用する必要があり、その関数を導入するだけで済む場合があります。このとき、ステートメント

from module name import function name 1, function name を使用できます。 2. ...

は、もちろん、関数を導入するだけでなく、いくつかの定数を導入することによっても実現できます。この方法で導入すると、関数を呼び出すときに関数名のみを指定でき、モジュール名を指定することはできません。ただし、2 つのモジュールに同じ名前の関数が含まれている場合、後の導入で前のモジュールが上書きされます。つまり、モジュール A に関数 function() があり、モジュール B に関数 function() がある場合、A の関数が最初に導入され、B の関数が後で導入されると、関数 function が呼び出されるとき、 、モジュール B で関数 function が実行されます。

math のすべてを一度にインポートしたい場合は、math import * から実行することもできますが、これはお勧めしません。

2. 独自のモジュールを定義する

Python では、各 Python ファイルをモジュールとして使用でき、モジュールの名前がファイルの名前になります。

例えば、test.pyというファイルがあり、関数addはtest.pyで定義されています:


#test.pydef add(a,b):    return a+b
ログイン後にコピー

その後、他のファイルでは、最初にtestをインポートし、次にtest.addを通じてそれを呼び出すことができます(a,b) もちろん、テストインポート追加から導入することも可能です。

3. モジュールが導入されると何が起こるでしょうか?

まず、ファイル test.py のコードを見てみましょう:


#test.pydef display():    print 'hello world'
    display()
ログイン後にコピー

test1.py のモジュール テストを紹介します:次に、test1.py を実行すると、「hello world」が出力されます。

つまり、importを使用してモジュールを導入すると、インポートされたモジュールファイル内のコードが一度実行されます。ただし、モジュール ファイル内のコードは、初めて導入されたときにのみロードされるため、実行されることに注意してください。これは理解しやすく、時間を節約できるだけでなく、コストも節約できます。メモリ。


以上がPythonモジュールの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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