1. 程式人生 > >Python 包、模組、函式、變數作用域

Python 包、模組、函式、變數作用域

Python 專案的組織結構 - 包 -- 模組 --- 類 ---- 函式、變數   Python是利用包和模組來組織一個專案的。   包: 包的物理表現是一個資料夾,但是一個資料夾卻不一定是個包,要想讓個資料夾成為一個包,就必須在這個資料夾下增加個特定的檔案 __init__.py __init__.py裡面可以什麼也不寫,只是純粹來標註這個資料夾是個包。 也可以在這個檔案裡編寫程式碼。 對於模組的名字:包名.模組名 對於__init__.py模組的名字:直接是包名     匯入有兩種方式:   1、匯入模組:import 模組名 若在模組A中想用到B模組的變數b,那麼在A中import B 之後,需要使用模組名來點出來變數名:B.b 在模組A中: import B print(B.b)   2、from 模組名 import 變數名,函式   在模組A中:   from B import b    可直接使用 print(b),而不用使用字首   import匯入的是模組,from import匯入的是具體的變數或者函式,因此使用from import 就不用使用字首了。 但是!也可以使用 from 包名  import 模組名   然後在A模組中使用 B.b 。。。。 比如:B模組在C包中,C包和A模組是平級的 在A模組中使用: from C import B print(B.b)   若是B中有大量的變數需要匯入,那麼可以用  *  號來指代。 但是如此,便將B中的所有都匯入A中了。 其實可以在B中進行指定,哪些變數可以通過 * 號來進行匯入到其他檔案 在B檔案的頂部,使用 __ALL__=['變數名a',‘變數名b’] ,這樣在A檔案中使用 from B import * 的時候,只會將B中的 a b 兩個變數匯入A   其實吧,也可是使用 from B import a,b,c  但是呢,Python的規範是一行字元個數不超過80,若是需要匯入變數過多就要換行 Python程式碼換行問題: 方式一:在需要換行的結尾加上反斜槓  \   然後換行 方式二:在被匯入變數的外部加上括號來換行      __inti__.py的作用: 基本作用 :import 匯入包的時候,python會自動執行__init__.py檔案 應用場景:做一些初始化工作 不論是匯入包還是匯入包中某個模組的變數,都會自動於執行init檔案   init 檔案中也可使用 __all__ = ['模組名'],來指定當此包之外的某模組使用 from 包名 import * 的時候,會import 進 __all__指定的模組

 

函式的引數:

  1.必須引數:這是指代的是函式定義時候的引數順序和個數。   def get_result ( x , y ):  result = x + y return result
result = get_result( 1 , 2 #這1 , 2 分別給 x , y 就是必須引數 print
(result)   2.關鍵字引數:這在於函式的呼叫,而不是函式的定義。 def get_result ( x , y ): result = x + y return result
result = get_result( 1 , 2 ) #需考慮賦值順序 print (result)
result2
= get_result( y = 2 , x = 1 )  # 這就是關鍵字引數,在於函式呼叫時候,不用考慮賦值順序。 print (result2)   以上兩個引數型別,只是在函式呼叫時候的不同,而引數定義是一樣的。

 

來自為知筆記(Wiz)