python頭檔怎麼寫

爱喝马黛茶的安东尼
發布: 2019-06-26 09:47:33
原創
18165 人瀏覽過

本文主要以python2為例。首先介紹一下Python頭檔的程式設計風格,然後再跟大家詳細介紹import部分的基本用法。這兩個部分就是Python中頭檔的組成模組。

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軟體自帶的函式庫,不是從第三方安裝的函式庫。比如說,如果import sys了,會怎麼印。

>>> import sys
>>> print sys
<module &#39;sys&#39; (built-in)>
登入後複製

這表示sys函式庫很有可能就是嵌入在python裡面的,根本沒有辦法刪除。那是不是所有的函式庫都是這樣呢,我們可以找os試試看:

>>> import os
>>> print os
<module &#39;os&#39; from &#39;/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc&#39;>
登入後複製

很明顯,這裡的os函式庫是由pyc提供的,所以從優先權來說,似乎sys還要更重要一些。

2、第三方函式庫

所謂第三方函式庫,就是透過python setup.py install安裝、pip安裝或透過apt-get install安裝的函式庫。這類函式庫很多,我自己常用的就有webpy、twisted、cv2、sklearn、wxpython,這些lib無一例外,都是以pyc的形式存在的。比如說,我們來看看webpy:

>>> import web
>>> print web
<module &#39;web&#39; from &#39;/usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg/web/__init__.pyc&#39;>
登入後複製

3、本地目錄檔案引用

如果是本機檔案引用,其實方法也很簡單,直接import一下就可以了。如果import成功,python就會產生對應檔案的pyc檔。比方說,exer1.py想引用exer2.py中的函數,那麼它可以這麼做:

import exer2
登入後複製

或是

from exer2 import *
登入後複製

其次,要注意的是,這種方法不光適用於python,也適用於動態函式庫檔案。我們知道,有的時候為了擴充python功能,需要寫c檔生成動態函式庫供python使用。有興趣的同學可以參考這個連結。這時候,如果需要引用動態庫文件,直接import檔名就可以了。

4、引用子目錄檔

除了同級目錄引用之外,另外用的比較多的就是子目錄引用。比方說,exer1.py和sub目錄在一個資料夾下面,如果exer1.py想引用sub下面的exer2.py,那它該怎麼做呢?這時候,一定要確保sub目錄下有__init__.py檔。

from sub import exer2
登入後複製

或是,

from sub.exer2 import *
登入後複製

5、子目錄引用父目錄

有的時候,子目錄為了使用父目錄或其他目錄(類似util目錄)的一些功能,常常要反向引用。這時候,sys庫就派上用場了。假設exer1.py和sub目錄在同一級,sub目錄下有一個exer2.py文件,這個時候exer2.py想引用exer1.py的功能,那麼它可以這麼操作:

import sys
sys.path.append(&#39;../&#39;)
import exer1
登入後複製

或者是,

import sys
sys.path.append(&#39;../&#39;)
from exer1 import *
登入後複製

6、交叉引用

如果有兩個檔案交叉引用,這個時候我建議可以保留一個檔案的引用,另外一個檔案的引用可以放到函數下面來做,例如說像這樣:

def process():
    import exer1
    exer1.add()
登入後複製

7、import檔案的順序建議

關於python下import檔案的順序,我個人的經驗是這樣安排比較合理一些,

built -in 系統庫

其他系統庫

第三方函式庫

子目錄庫

本地其他檔案等等

以上是python頭檔怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!