Python模塊結(jié)構(gòu)與布局操作方法實(shí)例分析
本文實(shí)例講述了Python模塊結(jié)構(gòu)與布局操作方法。分享給大家供大家參考,具體如下:
#coding=utf8
#起始行
#!/usr/bin/env python
#模塊文檔
'''''
合理的Module布局:
(1) 起始行(Unix)
(2) 模塊文檔
(3) 模塊導(dǎo)入
(4) 變量定義
(5) 類定義
(6) 函數(shù)定義
(7) 主程序
-----------------------------
(1) 起始行(Unix)
通常只有在類Unix環(huán)境下才使用起始行,有起始行可以輸入腳本名來(lái)執(zhí)行腳本。
(2) 模塊文檔
簡(jiǎn)要介紹模塊功能及重要全局變量的含義,模塊外可以通過(guò)module.__doc__訪問(wèn)這些內(nèi)容。
(3) 模塊導(dǎo)入
導(dǎo)入當(dāng)前模塊的代碼需要的所有模塊;每個(gè)模塊僅導(dǎo)入一次;
函數(shù)內(nèi)部的模塊導(dǎo)入代碼不會(huì)被執(zhí)行,除非該函數(shù)正在執(zhí)行。
(4) 變量定義
這里定義的變量為全局變量,本模塊中的所有函數(shù)都可以直接使用。
盡量使用局部變量代替全局變量,這樣不但容易維護(hù),還可以提高性能并節(jié)省內(nèi)存。
(5) 類定義
所有的類需要在這里定義。當(dāng)模塊被導(dǎo)入時(shí)class語(yǔ)句會(huì)被執(zhí)行,類也會(huì)被定義。
類的文檔變量是class.__doc__
(6) 函數(shù)定義
此處定義的函數(shù)可以通過(guò)module.function()在外部被訪問(wèn)到,當(dāng)模塊被導(dǎo)入時(shí)def語(yǔ)句會(huì)被執(zhí)行,
函數(shù)也就會(huì)定義好,函數(shù)的文檔變量是function.__doc__
(7) 主程序
無(wú)論這個(gè)模塊使被別的模塊導(dǎo)入還是作為腳本直接執(zhí)行,都會(huì)執(zhí)行這部分代碼。
通常這里不會(huì)有太多功能性代碼,而是根據(jù)執(zhí)行的模式調(diào)用不同的函數(shù)。
'''
#導(dǎo)入模塊
import sys
import time
from scrapy.utils import job
#定義變量
flag=1
#類定影
class Person(object):
'''''
Person class
set person name、sex、age、job
output the person information
'''
def __init__(self):
self.name=''
self.sex=''
self.age=18
self.job=''
def setName(self,name):
self.name=name
def setSex(self,sex):
self.sex=sex
def setAge(self,age):
self.age=age
def setJob(self,job):
self.job=job
def outPut(self):
print '''''
name:%s
sex:%s
age:%d
job:%s
''' %(self.name,self.sex,self.age,self.job)
#函數(shù)定義
def test():
'''''
test function
'''
if flag:
print '''''
run test()
'''
person=Person()
person.setName("ewang")
person.setAge(25)
person.setSex("famale")
person.setJob("big data testing")
person.outPut()
#主程序
#如果模塊使被導(dǎo)入,__name__的值為模塊名字
#如果模塊使被直接執(zhí)行,__name__的值為'__main__'
if __name__=='__main__':
test()
更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門(mén)與進(jìn)階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法詳解
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法,結(jié)合具體實(shí)例形式詳細(xì)分析了Python對(duì)象列表遍歷、排序的兩種常見(jiàn)操作技巧,需要的朋友可以參考下2019-06-06
TensorFlow的自動(dòng)求導(dǎo)原理分析
這篇文章主要介紹了TensorFlow的自動(dòng)求導(dǎo)原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
為2021年的第一場(chǎng)雪錦上添花:用matplotlib繪制雪花和雪景
這篇文章主要介紹了為2021年的第一場(chǎng)雪錦上添花:用matplotlib繪制雪花和雪景,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
使用python生成云詞圖實(shí)現(xiàn)畫(huà)紅樓夢(mèng)詞云圖
紅樓夢(mèng)相信大家都看過(guò),今天給大家介紹另一種不用搞得烏漆麻黑的方式來(lái)制作紅樓夢(mèng)的詞云圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
如何用六步教會(huì)你使用python爬蟲(chóng)爬取數(shù)據(jù)
網(wǎng)絡(luò)爬蟲(chóng)就是按照一定規(guī)則自動(dòng)訪問(wèn)互聯(lián)網(wǎng)上的信息并把內(nèi)容下載下來(lái)的程序或腳本,下面這篇文章主要給大家介紹了關(guān)于如何用六步教會(huì)你使用python爬蟲(chóng)爬取數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-04-04
django 自定義過(guò)濾器(filter)處理較為復(fù)雜的變量方法
今天小編就為大家分享一篇django 自定義過(guò)濾器(filter)處理較為復(fù)雜的變量方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
python爬取拉勾網(wǎng)職位數(shù)據(jù)的方法
這篇文章主要介紹了python爬取拉勾網(wǎng)職位數(shù)據(jù)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python腳本/代碼的幾種常見(jiàn)運(yùn)行方式
我們知道,python腳本或者說(shuō)python程序其實(shí)是一個(gè)包含了python代碼的文件,通過(guò)運(yùn)行python代碼,我們可以驗(yàn)證腳本/程序是否按照我們的期望執(zhí)行,在python中,有多種方式來(lái)運(yùn)行腳本或程序,取決于小伙伴們的需求,接下來(lái)小編將介紹幾種常見(jiàn)的 python 代碼運(yùn)行方式2023-10-10

