當你傳遞乙個列表給乙個函式的時候,函式得到的是對該列表的乙個引用。如果函式修改了列表,呼叫者會看到變化的。比如下面這個 delete_head 函式就從列表中刪除第乙個元素:
$ cat c.py
#!/bin/python
def delete_head(t):
letters = [10, 20, 30]
print(delete_head(letters))
$ python3 c.py
[20, 30]
形式引數 t 和變數 letters 都是同一物件的別名。
因為這個列表被兩個框架所公用,所以把它畫在了它們之間。
一定要區分修改列表的運算和產生新列表的運算,這特別重要。
>>> t1 = [1, 2]
>>> t1
[1, 2, 3]
但加號+運算子是產生乙個新的列表:
>>> t3 = t1 + [4]
>>> t1
[1, 2, 3]
>>> t3
[1, 2, 3, 4]
加號+運算子建立了新的列表t3,但並不修改源列表t1。
結束。
Python列表作為引數
在將列表作為引數傳遞給函式的時候,實際上是傳遞的引用。def ref someparameter 99 singers 阪井泉水 泰勒斯威夫特 阿黛爾 ref singers print singers 結果 阪井泉水 泰勒斯威夫特 阿黛爾 99 同時,將列表賦給乙個變數時,實際上是將列表的引用付給...
python變長引數列表 可變長引數
可變長引數 預設情況下,必須使用正確數量的引數呼叫函式,這意味著,如果您的函式需要2個引數,則必須使用2個引數 不多也不少 來呼叫函式。示例,該函式需要2個引數,並獲得2個引數 def my function fname,lname print fname lname my function emi...
python可變的引數列表
一般的計算機語言中引數的個數是不能改變的,但是在python中實參的個數是可以改變的。主要是通過形參中的 arg和 arg來實現的,使用可變引數必須遵守下面規則 1 位置引數必須出現在這 arg引數之前 2 arg必須出現在 arg之前,在 arg這之後和 arg之前出現的引數必須是關鍵字引數 3 ...