この記事では主に python2 を例として使用します。まずはPythonヘッダファイルのプログラミングスタイルを紹介し、次にインポート部分の基本的な使い方を詳しく紹介します。これら 2 つの部分は、Python のヘッダー ファイルのコンポーネントです。
プログラミング スタイル
#!/usr/bin/env python #在文件头部 ( 第一行 ) 加上 设置 Python 解释器 # -*- coding: utf-8 -*- #在文件头部 ( 第二行 ) 加上 在编辑器中设置以 UTF-8 默认编码保存文件 # Copyright (c) *** #版权信息放在文件头部,文件编码之后 # docstring 是Python特有的注释风格,它是模块、类或函数的第一个语句,可以通过__doc__方法访问 # 用英语撰写注释,短注释可以忽略末尾的句号 (.) # docstring 为每个模块、类或函数撰写 docstring 推荐使用三个双引号(”””) 来定义 docsting , 不推荐使用三个单引号 (''') # 模块的 docsting 放在文件头部,版权信息之后 ”””This is a one line docstring.””” ”””The title of a multiline docstring: After title is the content.You can write it as long as needed. ””” # 把 import 语句放在文件头部,在模块 docstring 之后,在模块全局变量或全局常量之前 # 按照从一般到特殊的原则分组 import 语句,先 import 标准库,然后 import 第三方库,最后 import 程序中的自定义库 # 在不同分组的 import 语句之间加空行 # 每个 import 语句只导入一个模块 import sys import time from PyQt.QtCore import SIGNAL, QTimer # 在终端中使用中文字符 在文件头部加上 # import sys # reload(sys) # sys.setdefaultencoding('utf-8')
関連する推奨事項: 「Python ビデオ チュートリアル 」
import
1. システム ライブラリの適用
ここで言及するシステム ライブラリは通常、サードパーティからインストールされるライブラリではなく、Python ソフトウェアに付属するライブラリを指します。たとえば、sys がインポートされた場合、それはどのように出力されますか?
>>> import sys >>> print sys <module 'sys' (built-in)>
これは、sys ライブラリがおそらく Python に埋め込まれており、それを削除する方法がないことを示しています。すべてのライブラリはこのようなものですか? os を試すことができます:
>>> import os >>> print os <module 'os' from '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc'>
明らかに、ここでの os ライブラリは pyc によって提供されているため、優先順位の点では sys がまだ必要であるようです。
2. サードパーティ ライブラリ
いわゆるサードパーティ ライブラリは、python setup.py install、pip install、または apt-get install を通じてインストールされるライブラリです。このようなライブラリは数多くありますが、私がよく使うライブラリには webpy、twisted、cv2、sklearn、wxpython などがあり、これらのライブラリは例外なく pyc の形式で存在します。たとえば、webpy を見てみましょう:
>>> import web >>> print web <module 'web' from '/usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg/web/__init__.pyc'>
3. ローカル ディレクトリ ファイル参照
ローカル ファイル参照の場合、方法は実際には非常に簡単で、直接インポートするだけです。インポートが成功すると、Python は対応するファイルの pyc ファイルを生成します。たとえば、exer1.py が exer2.py 内の関数を参照したい場合、次のようにすることができます:
import exer2
または
from exer2 import *
第二に、このメソッドは単なるメソッドではないことに注意してください。 Python の場合、ダイナミック ライブラリ ファイルにも適用されます。 Python 関数を拡張するには、C ファイルを作成して Python が使用する動的ライブラリを生成する必要がある場合があることを私たちは知っています。興味のある学生はこのリンクを参照してください。このとき、ダイナミックライブラリファイルを参照する必要がある場合は、ファイル名を直接インポートしてください。
4. サブディレクトリ ファイルの参照
兄弟ディレクトリ参照に加えて、サブディレクトリ参照も一般的に使用されます。たとえば、exer1.py とサブ ディレクトリが同じフォルダー内にある場合、exer1.py が sub 配下の exer2.py を参照したい場合、どうすればよいでしょうか?このとき、サブディレクトリに __init__.py ファイルがあることを確認してください。
from sub import exer2
または、
from sub.exer2 import *
5。サブディレクトリは親ディレクトリを参照します。
サブディレクトリは親ディレクトリの一部または他のディレクトリ (util ディレクトリと同様) を使用する場合があります。 ) 関数には後方参照が必要になることがよくあります。このとき、sys ライブラリが役に立ちます。 exer1.py とサブディレクトリが同じレベルにあり、サブディレクトリに exer2.py ファイルがあるとします。このとき、exer2.py は exer1.py の関数を参照したいと考えます。 :
import sys sys.path.append('../') import exer1
または、
import sys sys.path.append('../') from exer1 import *
6. 相互参照
相互参照されている 2 つのファイルがある場合は、1 つのファイルの参照をここに保持することをお勧めします。時間を指定し、関数の下に他のファイルの参照を置きます。たとえば、次のように言います:
def process(): import exer1 exer1.add()
7. インポート ファイルの順序に関する提案
インポート ファイルの順序についてPython、私の個人的な経験では、この配置はより合理的です。
組み込みシステム ライブラリ
その他のシステム ライブラリ
サードパーティ ライブラリ
サブディレクトリライブラリ
その他のローカル ファイルなど
以上がPythonのヘッダファイルの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。