python之6核心基礎知識之引數與變數

2021-10-02 15:13:22 字數 2338 閱讀 3155

6.1 形參與實參以及位置引數

6.2 預設引數

引數在前,預設引數在後

def

test

(a=1

, b=

2, c=3)

:print

("a=%d b=%d c=%d"

%(a, b, c)

)test(c=

2)

如果預設引數是列表

def

test

(l=)

:"end"

)print

(l)test([1

,1,1

])test([2

,2,2

])

輸出:

[1, 1, 1, 『end』]

[2, 2, 2, 『end』]

def

test

(l=)

:"end"

)print

(l)test(

)test(

)

輸出:

[『end』]

[『end』, 『end』]

函式在定義的時候,預設引數的值已確定,換句話說,l指向的位址是確定,之後如果還是對其內容進行更改的話,預設引數的值也隨之改變了

注意:預設引數必須指向不可變物件

6.3 可變物件

可變物件就是呼叫函式時,傳遞引數的個數的可變的。

def

sum(

*numbers)

:print

(type

(numbers)

) total =

0for i in numbers:

total += i

return total

print

(sum(1

,2,3

))

輸出結果:

66.4 命名關鍵字引數

限制呼叫者不能按位置傳遞,需要放在形參的後面,並在前面使用星號*(獨佔乙個引數位)與普通形參分隔

def

person

(name, age,

*, pet)

:print

(name,age,pet)

person(

"wiggin",29

,pet=

"tomcat"

)def

person

(name, age,

*, pet=

"cat"):

print

(name,age,pet)

person(

"wiggin",29

)

一旦使用命名關鍵字之後,如果呼叫時,沒指定引數名,會報相應的錯誤

特別注意:如果函式定義中已經有了乙個可變引數,後面跟著的命名關鍵字引數就不再需要乙個特殊分隔符

6.5 關鍵字引數

關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個

dict.

def

person

(name, age,

**kw)

:print

(type

(kw)

)print

('name:'

, name,

'age:'

, age,

'other:'

, kw)

person(

"wiggin",29

,city=

"廣州"

,pet=

"cat"

)def

person

(name, age,

**kw)

:print

('name:'

, name,

'age:'

, age,

'other:'

, kw)

other_info =

print

(type

(other_info)

)person(

"wiggin",29

,city=

"廣州"

,**other_info)

混合使用引數

混合使用時,引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

python核心程式設計學習記錄之基礎知識

雖然對python的基礎知識有所了解,但是為了更深入的學習,要對python的各種經典書籍進行學習 第一章介紹python的優缺點,略過 第二章介紹python起步,第三章介紹python基礎,僅記錄一些有用的 python支援五種基本的數字型別 int 有符合整數 long 長整數 bool 布林...

python基礎知識之集合

鑑於前面已經對列表的一些用法進行過介紹,本篇文章就從元組開始說 首先,元組和列表的形式上是差不多的,都是儲存大量資料的一組集合,但是也是有不同點的 下面舉個列子 元組 test 1,3,xx 列表 test1 1,2,xx 從上面的列子可以看出在定義元組和列表時需要注意的不同,元組用的小括號,而列表...

python基礎知識之元組

元組和列表都是序列,但是元組不能修改。元素用逗號隔開,就自動建立了元組,元組一般通過圓括號括起來。1,2,3 1,2,3 wang wei na wang wei na 1,2,3 1,2,3 空元組 沒有內容的圓括號。乙個值的元組 乙個值要加上逗號。12,12,12,12,1212 3 40 2 ...