python函式模組概念 Python模組概念

2021-10-11 00:10:02 字數 2500 閱讀 8898

補充:生成器表示式

將列表生成器的中括號改為小括號就是生成器表示式

res = [i for i in range(10) if i > 5] # 列表生成式

res = (i for i in range(10) if i >5) # 生成器表示式

模組什麼是模組

模組就是一系列功能的集合體(對函式集的封裝)

內建模組

第三方模組

自定義模組

為何要用模組

使用內建或者第三方的模組的好處是:拿來主義,極大提公升開發效率

使用自定義的模組的好處是:將程式的各部分元件共用的功能提取出來放到乙個模組中,其他的元件通過匯入的方式使用該模組,該模組即自定義模組,好處是可以減少**冗餘。

如何使用模組

匯入模組的三種方式:

import + 模組

首次倒入模組的會發生三件事:

會產生乙個模組命名空間

會執行模組檔案的內容,將產生的名字丟到模的命名空間裡

在當前執行的檔案中拿到乙個名字(模組名),該名字指向模組的命名空間模組的內功能的呼叫

module.func()

缺點:當模組名複雜(stu_ifo_msg)時,會大大降低開發效率。

from + 模組 + import + 函式名,函式名,函式名……

首次匯入模組會發生3件事

會產生乙個模組命名空間

會執行模組檔案內容,見檔案中產生的名字丟入到模組的命名空間中

在當前執行檔案中拿到的函式名,該名字指向模組的命名空間中的函式

功能函式的呼叫

func()

缺點:當執行函式中有相同函式名時,會造成命名空間混淆

import + 模組 + as + 新名字 (推薦)

匯入原理與第一種方式相同,不論模組名多長,模組內功能多少都能以最精簡的方式寫出清晰的**(完美解決以上其他兩種匯入方式帶來的缺陷)。

模組的查詢路徑(優先順序從上到下)

記憶體內建模組

sys.path(是以執行檔案為準)

如何區分python檔案的兩種用途

print(__ name __)

當檔案被當做執行檔案匯入時__ name__ 的值為__ main__

當檔案被當做模組被匯入時__ name__的值為模組名

#在模組內新增測試該模組的功能**,但在執行檔案中不能讓其顯示出來

deffunc1():pass

deffunc2():pass

deffunc3():pass

if __name__ == '__main__': #當檔案被當作模組匯入時,__name__='模組名'

print('執行測試功能')

軟體開發的目錄規範

atmbin

start.py:啟動檔案

conf(配置檔案,允許使用者自定義)

settings.py

core(核心功能)

db:存放資料、賬號資訊等

src.py : 主程式,核心**

lib(自定義模組)

common.py

log(日誌檔案)

readme.txt(軟體介紹)

transcation.tlo(使用者日誌和交易資訊等)

start.py執行src.py中的功能,首先去bin中找,找不到,報錯

①在sys.path中新增環境變數,但由於環境變數只針對於當前電腦,所以當程式在其他機器上使用時則無法執行,且只能執行src.py的功能,其他檔案則無法執行。

② 一、將專案的根目錄加到環境變數裡

二、把專案根目錄所在的局的對路徑拿到,然後加到環境變數裡

解決了只能執行src的缺陷,但是在另一台機器上任然不能使用。

③使用__ file __ 內建函式,print( __ file __ )得到的是當前執行檔案的路徑(d:/……/atm/bin/start.py),將此路徑處理後根目錄新增到環境變數中。

#os.path.dirname:獲取上一層資料夾,os.path.abspath(__file__)得到的是當前執行檔案的路徑

base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #最終我們需要的當前執行檔案的根目錄

為軟體的提現功能新增日誌功能並可以讓使用者自定義路徑

軟體的執行》start.py》scr.py(主程式,業務邏輯功能)》提現功能下呼叫common.py中日誌功能並記錄到log資料夾下的transcation.log檔案中,並將路徑設定為可由使用者自定義—呼叫conf資料夾下的setting.py的路徑設定功能。

importos

base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #當前執行檔案下的根目錄

log_path=r'%s\log\transcation.log' %base_dir #使用者自定義

將start.py檔案放入根目錄下,所有需要新增環境變數的問題都迎刃而解,不需要繞著彎去新增環境變數。

python函式 模組

一 函式 函式是組織好的,可以重複利用,用來實現一定功能的 段。1 函式的組成部分 1 函式 塊以 def 關鍵字開始,後接函式名稱和括號 然後是冒號 2 任何傳入的引數和自變數必須放在 中 3 函式第一行語句可以寫注釋表明函式的功能 4 段,描述了函式實現的功能,需要縮排 5 return 表示式...

Python函式 模組

模組 定義函式使用def 函式體寫在縮排塊中,函式的返回值用return語句返回,函式執行完畢也沒有return語句時,自動return none 如果想定義乙個什麼事也不做的空函式,可以用pass語句,pass可以用來作為佔位符,如果沒想好怎麼寫,可以先寫乙個pass函式,讓 執行起來 函式 含義...

Python 函式 模組

1.函式的定義 2.函式的呼叫 格式 函式名 函式只能先定義再使用,即函式的呼叫不能出現在函式定義部分的上方。3.除錯工具3.函式注釋 4.函式引數的使用 形參是乙個容器實參是放在容器內的東西。5.函式的返回值 使用return關鍵字可以返回結果。用return返回後,後續的 都不會再執行。模組1....