Python 基礎(chǔ)語法_Python腳本文件結(jié)構(gòu)

      網(wǎng)友投稿 871 2025-03-31

      目錄


      目錄

      前言

      軟件環(huán)境

      Python Script文件結(jié)構(gòu)

      導(dǎo)入模塊的流程

      Python的包package

      最后

      前言

      Python基礎(chǔ)語法這一章,主要記錄了Python的文件結(jié)構(gòu)、邏輯運(yùn)算符、算術(shù)操作符、控制流語句、輸入和輸出語句、函數(shù)、對(duì)象、類等方面的內(nèi)容。在了解了Python的數(shù)據(jù)類型之后,結(jié)合之前的要點(diǎn)來一起繼續(xù)學(xué)習(xí)。

      軟件環(huán)境

      系統(tǒng)

      UbuntuKylin 14.04

      軟件

      Python-2.7.6

      IPython-4.0.0

      Python Script文件結(jié)構(gòu)

      Python Script 是應(yīng)用廣泛的一種批量自動(dòng)化處理方案,同時(shí)任何的.py擴(kuò)展文件在Python執(zhí)行程序中都可以充當(dāng)Module文件來使用,是一個(gè)于C語言中的頭文件類似的東西。從Python一切皆對(duì)象的設(shè)計(jì)理念來說,只要將.py的擴(kuò)展文件導(dǎo)入Python執(zhí)行程序中后,我們就可以使用一些Python的內(nèi)置方法。下面先從Python Script的文件結(jié)構(gòu)開始記錄。

      #!/usr/bin/env python #-*- coding:utf8 -*- """Document:Python Script Description""" import os defineGlobalVairiable = True #define class class TestClass(object): """Class description """ #define function def testFunction(self,parameters): """Function description""" #main program 程序入口 if __name__ == '__main__': print 'Hello world'

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      1. Script文件的首行需要指定以什么可執(zhí)行程序來運(yùn)行該文件的代碼。

      例如:#!/usr/bin/python 指定了路徑為/usr/bin下的Python程序來執(zhí)行。但是在有些情況下HOST的Python執(zhí)行程序不一定安裝在默認(rèn)的/usr/bin/目錄下,使用/usr/bin/env python 則指定了在env環(huán)境變量的路徑中逐一尋找Python執(zhí)行程序來執(zhí)行這個(gè)文件中的代碼,也推薦使用第二種方法。

      2.在第二行需要指定PythonScript的編碼格式

      下面兩種均可以指定Script的編碼格式,并沒有上面區(qū)別,個(gè)人喜的選擇。

      #coding=utf8 #-*- coding:utf8 -*- #encoding:utf8 #encoding=utf8

      1

      2

      3

      4

      3.接下來便是文件的Document部分

      編寫程序也要注重注釋和文檔的編寫。使用”“” “”” or ”’ ”’來注釋文檔沒有區(qū)別。在導(dǎo)入Python Module后,可以使用__doc__方法來查看Document。

      Python 基礎(chǔ)語法_Python腳本文件結(jié)構(gòu)

      In [16]: import pyScriptFormat In [19]: pyScriptFormat.__doc__ Out[19]: 'Document:Python Script Description' In [21]: pyScriptFormat.testFunction.__doc__ Out[21]: 'Function description'

      1

      2

      3

      4

      5

      6

      7

      注:當(dāng)Import一個(gè)Module文件時(shí),Python執(zhí)行程序會(huì)在對(duì)其進(jìn)行一次編譯后,會(huì)生成.pyc擴(kuò)展名的字節(jié)碼文件,同時(shí)也會(huì)檢查.py文件的語法問題。所以當(dāng)Import出現(xiàn)錯(cuò)誤時(shí),可以考慮是否出現(xiàn)了語法錯(cuò)誤。

      還可以使用Python內(nèi)置的dir( )方法來查看這一個(gè)Module的內(nèi)置方法和自定義的屬性、方法(以__X__命名的多為系統(tǒng)變量)。

      In [22]: dir(pyScriptFormat) Out[22]: ['TestClass', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'defineGlobalVairiable', 'os', 'testFunction']

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      4.導(dǎo)入需要的模塊

      使用 import moduleName 這樣的格式來導(dǎo)入一個(gè)Python的模塊,在.py文件中可以隨時(shí)隨地的使用import語句來導(dǎo)入Python的內(nèi)置函數(shù)模塊,值得注意的是,當(dāng)導(dǎo)入的模塊是自定義的Python模塊文件時(shí),需要保持與模塊文件在同一目錄路徑下。

      5.定義全局變量、類、函數(shù)

      在定義類和函數(shù)的時(shí)候,也可以在代碼塊的第二行中寫入類或函數(shù)的描述說明,至于定義一個(gè)類和函數(shù)的具體細(xì)節(jié),在以后的博文中會(huì)詳細(xì)的記錄。

      6.程序入口 __name__

      __name__方法可以調(diào)用當(dāng)前模塊的名字,當(dāng)該模塊是直接運(yùn)行而非被其他程序?qū)胝{(diào)用的時(shí)候,則該模塊的__name__ == ‘__main__’。相反,當(dāng)該模塊是其他程序?qū)氲臅r(shí)候,則該模塊的__name__ == ModuleFileName,即模塊文件本身的名字。

      In [7]: import pyScriptFormat In [8]: pyScriptFormat.__name__ Out[8]: 'pyScriptFormat'

      1

      2

      3

      4

      所以當(dāng)我們?nèi)粝MK的主程序僅僅是在被期望執(zhí)行的時(shí)候才會(huì)被執(zhí)行,而不會(huì)自動(dòng)執(zhí)行時(shí),可以使__name__方法來進(jìn)行控制,即作為主程序的入口:

      if __name__ == '__main__':

      1

      這樣可以實(shí)現(xiàn)節(jié)省內(nèi)存的資源,也有利于提高代碼的重用性。

      導(dǎo)入模塊的流程

      Python解析器會(huì)自帶需要內(nèi)置的模塊,這些模塊文件被存放在/usr/lib/python2.7/目錄下。模塊文件在第一次導(dǎo)入時(shí),會(huì)先編譯成.pyc后綴的文件,方便下次可以無須編譯速度實(shí)現(xiàn)導(dǎo)入。

      1. 在當(dāng)前目錄下尋找.pyc的模塊文件

      2. 若沒有則將同名的.py文件,編譯成.pyc文件后再導(dǎo)入

      3. 若連.py文件都沒有的話,會(huì)到/usr/lib/python.2.7/目錄下尋找

      4. 若仍然沒有找到,就到setpy目錄下尋找

      5. setpy下也沒有找到時(shí),會(huì)出發(fā)ImportError的錯(cuò)誤。

      Python的包package

      創(chuàng)建一個(gè)Python包:

      1. 創(chuàng)建一個(gè)包目錄PackageName

      2. 在package目錄下創(chuàng)建__init__.py文件,有__init__.py文件表示此目錄為包結(jié)構(gòu)

      3. 在此目錄下可以存放Module、Script、.pyc、子包等結(jié)構(gòu)的文件或目錄

      調(diào)用方式:

      import PackageName.ModuleName PackageName.MudoleName.functionName() #逐層調(diào)用

      1

      2

      最后

      需要注意的是,在不同的使用環(huán)境下,Python文件的結(jié)構(gòu)也會(huì)不一樣,本篇是針對(duì)Python Script文件而言。但退一步來說,大道相通,希望可以做到舉一反三。同時(shí),養(yǎng)成一個(gè)良好的編程風(fēng)格是文檔處理的習(xí)慣會(huì)在以后的Teamwork中發(fā)揮很多便利的作用。

      Jmilk

      Python 網(wǎng)絡(luò)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何將文本框轉(zhuǎn)換為Word中的框架?
      下一篇:如何設(shè)置ppt母版表格
      相關(guān)文章
      亚洲人成人无码网www国产| 亚洲午夜国产精品无码 | 亚洲人成色4444在线观看| 亚洲AV电影院在线观看| 精品亚洲永久免费精品| 中文字幕亚洲无线码a| 永久亚洲成a人片777777| 中文字幕在亚洲第一在线| 亚洲av再在线观看| 亚洲国产a级视频| 久久精品国产亚洲AV不卡| 中文字幕无码精品亚洲资源网| 久久久久无码专区亚洲av| 国产亚洲精品成人久久网站| 全亚洲最新黄色特级网站 | 亚洲福利在线观看| 在线观看亚洲一区二区| 亚洲影视一区二区| 成人区精品一区二区不卡亚洲| 亚洲夂夂婷婷色拍WW47| 久久亚洲精品11p| 国产成人精品亚洲精品| 在线亚洲97se亚洲综合在线| 亚洲av中文无码乱人伦在线播放| 亚洲国产高清在线| 亚洲国产成人久久99精品| 亚洲人成77777在线播放网站不卡| 亚洲日本天堂在线| www亚洲一级视频com| 国产亚洲美女精品久久久| 亚洲AV一宅男色影视| 亚洲色图黄色小说| 亚洲成_人网站图片| 午夜亚洲WWW湿好爽| 国产亚洲情侣一区二区无码AV| 久久亚洲精品中文字幕三区| 亚洲综合激情九月婷婷| 亚洲日韩国产精品乱-久| 一级毛片直播亚洲| 亚洲国产精品无码一线岛国| 亚洲成综合人影院在院播放|