11 python函式的基本使用

2022-05-02 20:21:09 字數 2657 閱讀 8445

​基於前一部分的學習,我們已經能開發一些功能簡單的小程式了,但隨著程式功能的增多,**量隨之增大,此時仍不加區分地把所有功能的實現**放到一起,將會使得程式的組織結構不清晰,可讀性變差,且程式中需要頻繁使用同一功能時,只能重複編寫該功能的實現**,日積月累,程式將變得冗長,並且當某一功能需要修改時,又不得不找出所有定義及使用這段功能的地方修改之,管理維護的難度極大,好吧,裝了半天逼,到底該如何解決提出的這些問題呢?

我們完全可以從現實生活中找到簡化程式設計的方案:比如乙個修理工會事先準備好螺絲刀、錘子等工具,這樣在進行修理的過程中,需要用到擰螺絲的功能時就直接拿來螺絲刀使用,需要用到鎚擊物體的功能時就直接拿來錘子使用,而無需臨時製造。這個例子的核心在於』事先準備好工具』,遇到應用場景時』拿來就用』,。

在程式中,具備某一功能的『工具』指的就是函式,『事先準備工具』的過程即函式的定義,『拿來就用』即函式的呼叫。

函式的使用必須遵循』先定義,後呼叫』的原則。函式的定義就相當於事先將函式體**儲存起來,然後將記憶體位址賦值給函式名,函式名就是對這段**的引用,這和變數的定義是相似的。沒有事先定義函式而直接呼叫,就相當於在引用乙個不存在的』變數名』。

定義函式的語法

def 函式名(引數1,引數2,...):

"""文件描述"""

函式體return 值

def: 定義函式的關鍵字;

括號:括號內定義引數,引數是可有可無的,且無需指定引數的型別;

"""文件描述""": 描述函式功能,引數介紹等資訊的文件,非必要,但是建議加上,從而增強函式的可讀性;

函式體:由語句和表示式組成;

return 值:定義函式的返回值,return是可有可無的。

引數是函式的呼叫者向函式體傳值的媒介,若函式體**邏輯依賴外部傳來的引數時則需要定義為參函式,

def my_min(x,y):

res=x if x < y else y

return res

否則定義為無參函式

def interactive():

user=input('user>>: ').strip()

pwd=input('password>>: ').strip()

return (user,pwd)

def auth_user():

"""user authentication function"""

pass

def download_file():

"""download file function"""

pass

def upload_file():

"""upload file function"""

pass

def ls():

"""list contents function"""

pass

def cd():

"""change directory"""

pass

之後我們便可以統籌安排程式設計任務,有選擇性的去實現上述功能來替換掉pass,從而提高開發效率。

​ 函式的使用分為定義階段與呼叫階段,定義函式時只檢測語法,不執行函式體**,函式名加括號即函式呼叫,只有呼叫函式時才會執行函式體**

#定義階段

def foo():

print('in the foo')

bar()

def bar():

print('in the bar')

#呼叫階段

foo()

執行結果:

in the foo

in the bar

定義階段函式foo與bar均無語法錯誤,而在呼叫階段呼叫foo()時,函式foo與bar都早已經存在於記憶體中了,所以不會有任何問題。

按照在程式出現的形式和位置,可將函式的呼叫形式分為三種:

#1、語句形式:

foo()

#2、表示式形式:

m=my_min(1,2) #將呼叫函式的返回值賦值給x

n=10*my_min(1,2) #將呼叫函式的返回值乘以10的結果賦值給n

#3、函式呼叫作為引數的形式:

# my_min(2,3)作為函式my_min的第二個引數,實現了取1,2,3中的較小者賦值給m

m=my_min(1,my_min(2,3))

若需要將函式體**執行的結果返回給呼叫者,則需要用到return。return後無值或直接省略return,則預設返回none,return的返回值無型別限制,且可以將多個返回值放到乙個元組內。

>>> def test(x,y,z):

... return x,y,z #等同於return (x,y,z)

...

>>> res=test(1,2,3)

>>> print(res)

(1, 2, 3)

return是乙個函式結束的標誌,函式內可以有多個return,但只執行一次函式就結束了,並把return後定義的值作為本次呼叫的結果返回。

出處:

一 1 1Python基本安裝

4 執行 cmd 輸入python 檢視顯示結果 二 linux下安裝 python 由於centos 7.2系統預設python版本為2.7.5 做軟鏈 ln s usr local python3 bin python3.6 usr local bin python3 使用pip 做軟鏈 ln ...

11 python 元組 字典

元組 tuple與列表相似,資料不可修改,使用小括號 來定義 元組不支援修改,只支援遍歷 查詢操作 列表資料可修改 1.元組 my tuple 11,22,30 print 1.my tuple 0 2.元組中有乙個元素,後面須加 否則會報錯my tuple 11,print 2.my tuple ...

1 1Python入門簡介

1.認識cpu和記憶體 cpu 處理器 處理指令和運算資料 記憶體 儲存資料。對於cpu要處理的資料儲存在記憶體中。臨時儲存資料。硬碟是長期儲存資料的場所,當cpu需要處理某些資料的時候,會將硬碟中的資料先匯入到記憶體中,然後再給cpu進行處理,處理完後,cpu將資料寫入記憶體中,再儲存到硬碟中進行...