在實際使用中你會發現,向函式傳遞列表是比較實用的,這種列表可能包含名字、數字、可能更複雜的物件(字典)
假設向乙個函式傳遞一堆水果,我們說出我們喜歡所有的水果
defobj(fruits):
for fruit in
fruits:
msg = '
i like
'+fruit+'!'
(msg)
l = ['
','orange']
obj(l)
我們將obj定義成接受乙個水果種類列表,並將其儲存在形參obj中,這個函式遍歷接受到的列表,然後列印'i like ..!'
#首先定義乙個列表,其中包含要列印的字母
letters = ['
a','
b','
c','d'
]already_letter =
#模擬閱讀每個字母,直到字母讀取完畢為止
#將每個已經閱讀過的字母轉移到列表already_letter中
while
letters:
current_letter =letters.pop()
print("
printing letter:
"+current_letter)
#顯示已經讀取的所有字母
print("
\nthe follwing letter has been read:")
for letter in
already_letter:
print(letter)
我們首先需要建立乙個列表,還建立乙個名為already_letter的空列表,每個已經閱讀過的字母都儲存到這個列表中,只要列表中還有字母,while迴圈就模擬閱讀過程:從該列表中刪除乙個已經讀取的字母,然後將其儲存到變數current_letter中,並顯示一條訊息,再將該字母儲存到新列表中,等到迴圈結束後,再列印出所有的字母。
上述程式改編版
defread_letter(letters,already_letter):
"""讀取每個字母,直到讀取完畢為止
將讀取完畢後的字母儲存到新的列表中
:param letters:
:param already_letter:
:return:
"""while
letters:
current_letter =letters.pop()
#模擬讀取字母的過程
print("
printing letter:
" +current_letter)
defshow_already_letter(already_letter):
"""顯示已經閱讀的所有字母
:param already_letter:
:return:
"""print("
\nthe follwing letters has been read:")
for letter in
already_letter:
(letter)
letters = ['
a','
b','
c','d'
]already_letter=
read_letter(letters,already_letter)
show_already_letter(already_letter)
我們定義了函式read_letter(),它包含2個形參:乙個需要閱讀字母的列表和乙個儲存已經閱讀字母的列表。給定這兩個列表,這個函式模擬閱讀過程:將字母乙個個閱讀,然後列印,最後將其轉存到儲存已閱讀的列表中,函式show_already_letter()主要是列印已經閱讀字母列表,最後四條語句是定義乙個列表與乙個空列表,呼叫上面的兩個函式。
上面的函式中,在讀取完畢之後,letters列表就程式設計空列表了,那麼假如我們想在讀取完列表後還保留該列表,該怎麼辦呢?
使用切片法[ : ]建立列表的副本
defread_letter(letters,already_letter):
"""讀取每個字母,直到讀取完畢為止
將讀取完畢後的字母儲存到新的列表中
:param letters:
:param already_letter:
:return:
"""while
letters:
current_letter =letters.pop()
#模擬讀取字母的過程
print("
printing letter:
" +current_letter)
defshow_already_letter(already_letter):
"""顯示已經閱讀的所有字母
:param already_letter:
:return:
"""print("
\nthe follwing letters has been read:")
for letter in
already_letter:
(letter)
letters = ['
a','
b','
c','d'
]already_letter=
read_letter(letters[:],already_letter)
show_already_letter(already_letter)
print(letters)
通過這段**的列印結果可以看出,列表已經被複製了哦!
Python 向函式傳遞任意數量的實參
傳遞任意數量的實參 有時候,你預先不知道函式需要接受多少個實參,好在python允許函式從呼叫語句中收集任意數量的實參 def get letter letters for i in letters print i get letter a b c d e 形參名 letters中的星號讓pytho...
C 向函式傳遞物件
物件可以作為引數傳遞給函式,其方法與傳遞其他型別的資料相同。在向函式傳遞物件時,是通過傳值呼叫傳遞給函式的。因此,函式中對物件的任何修改均不影響呼叫該函式的物件本身。例3.11 使用物件作為函式引數。includeclass aclass void set int n int get private...
Python向列表中插入元素 列表
python列表中的元素種類可以是相同的也可以是不同的,如 num 1 2 3 4 str python 1 中國 nmu 1 2 3 4 str python 1 中國 phone 諾基亞 三星 oppo 華為 print phone 諾基亞 三星 oppo 華為 2 extend 在列表末尾新增...