python基礎 part10 函式

2021-10-04 10:04:55 字數 3782 閱讀 8378

鄙人學習筆記

開發工具:spyder

可變與不可變型別資料在傳參時的區別

函式引數

命名關鍵字形參

引數自左至右的順序

函式用於封裝乙個特定的功能,表示乙個功能或者行為。函式是可以重複執行的語句塊,可以重複呼叫。

函式可以提高**的可重用性和可維護性。(注意函式命名和清晰性)

def 函式名(形式引數):

函式體

def 關鍵字

全稱是define, 意味"定義"

函式名對函式體中語句的描述,命名規則與變數名相同

形式引數

方法定義者要求呼叫者提供的資訊

函式體完成該功能的語句

備註:函式的第一行語句,可以選擇性地使用文件字串存放函式與引數的說明。

函式名(實際引數)
方法定義者告訴呼叫者的結果

return [表示式]
①表示式就是需要返回的結果

②若return後不帶表示式,相當於返回none

③若不帶return語句,函式執行完後返回none(相當於在最後加了一條 return none 語句)

舉個例子

**:

def

my_add

(num01, num02)

: result = num01 + num02

return result

re = my_add(1,

2)print

(re)

結果:

不可變型別的資料傳參時,函式內部不會改變原資料的值。

可變型別的資料傳參時,函式內部可以改變原資料。

舉個例子1

**:

def

fun01

(fun_num01)

: fun_num01 =

2print

("fun_num01:"

+str

(fun_num01)

)number01 =

1fun01(number01)

print

("number01:"

+str

(number01)

)

結果:

備註:str( )是python自帶函式,是python保留的關鍵字,定義變數時應該避免使用str作為變數名。如果在使用str( )函式之前已經定義過str變數,則會出現typeerror: 『str』 object is not callable這個報錯。可以使用del str將str變數刪除。

舉個例子2

**:

def

fun01

(num01, lista, listb)

: num01 =

100 lista[0]

=200

listb =

300number01 =

1list01 =[2

,3]list02 =[4

,5,6

]fun01(number01, list01, list02)

print

(number01)

print

(list01)

print

(list02)

結果:

實參傳遞方式

①位置傳參-序列傳參

②關鍵字傳參-字典傳參

**:

def

fun01

(a, b, c)

:print

(a, b, c)

#位置傳參:實參與形參的位置依次對應

fun01(1,

2,3)

#序列傳參:用*將序列拆分後與形參的位置依次對應

fun01(*[

4,5,

6])#關鍵字傳參:實參根據形參的名稱進行對應

fun01(b =

2, a =

1, c =3)

#字典傳參:用**將字典拆分後與形參的名字進行對應

fun01(

**)

結果:

形參定義方式

預設引數

預設引數,可讓呼叫者有選擇性的傳遞需要的資訊

**:

def

fun01

(a =

0, b =

1, c =2)

:print

(a, b, c)

fun01(

)fun01(1)

fun01(*[

2,3]

)fun01(b =10)

fun01(

**)

結果:

位置形參

def 函式名(形參名1, 形參名2, ...):

函式體

星號元組形參
def 函式名(*元組形參名):

函式體

收集多餘的位置傳參

①一般情況下,元組形參名為』args』

②形參列表中最多只能有乙個星號元組形參

命名關鍵字形參

我們先看2個例子,來感受一下命名關鍵字傳參。

**:

#若*放在最開頭,則強制我們使用關鍵字傳參

deffun01(*

,a,b)

:print

(a, b)

#如果我們不通過關鍵字傳參,則執行下面這行**會報錯

fun01(1,

2)

結果:

報錯!

**:

#b必須使用關鍵字傳參,否則會報錯

deffun01

(*a,b)

:print

(a, b)

fun01(1,

2, b =

2)

結果:

雙星號字典形參

引數自左至右的順序

位置形參 -> 星號元組形參 -> 命名關鍵字形參 -> 雙星號字典形參

中小企業通用工藝part10

2006 04 19 17 17 42 十二 塗漆通用工藝 1範圍 本守則規定了塗漆加工的工藝規則,適用於本公司的塗漆加工。2除鏽 2.1 對工件表面的型沙 毛刺 焊渣 飛濺物 油汙 灰塵等物用破皮及鋼絲刷等除鏽工具刮,鏟清除乾淨,使其達到平整 清潔,提高塗層的附著力。2.2 鏽蝕等級見表 a全面地...

Part 10 網路程式設計 網路通訊過程

一 集線器組網 集線器 hub 是指將多條乙太網雙絞線或光纖集合連線在同一段物理介質下的裝置。發生在物理層。集線器工作的時候,如果區域網中的一台電腦要傳送訊息,則區域網內的所有電腦都可以接收到這個訊息,安全性較差,而且每一次只能有乙個傳送,只有這個傳送完畢其他電腦才能再傳送,這稱為半雙工模式。詳細通...

硬體知識整理part10 電容應用之冷知識

乘天地之正,御六氣之辨,以遊無窮。莊子 電容雖小,知識不少。這是最後一篇寫電容的博文了,主要寫一些電容的冷知識。第乙個冷知識 電容 的原因 1.正負極接反 這種情況常見於維修過程,緣於粗心大意。電路板上沒有標明電容的極性,或者換元器時粗心大意了,將電容的兩個極,反接於電路中,即負極接在了高電位,正極...