為了說明什麼是函式就先用乙個例子吧:
#比如我定義乙個求和運算
defsum_1
(x,y):
a=x+y
return a
print(sum_1(2,5))
輸出:7
注意:函式是使用def定義的,def後邊是函式名,括號中是引數,括號中的引數也可以為空1、函式中傳遞列表當你需要使用這個函式的時候就可以直接呼叫了
sum_1()函式是帶有引數的,呼叫時也必須有引數,並且引數需要按照定義時的引數順序,如上呼叫就是x=2,y=5,這叫做位置引數,就是必須體現先後順序
如果不想按照順序輸入引數,可以採用一下形式:sum_1(y=5,x=2),不影響輸出結果,這裡不夠明顯,可以換成其他的函式,比如列印英語人名,區分firstname和lastname,就比較明顯了
以班裡新來了三個同學為例,做成列表,對三位同學表示歡迎:
#定義乙個函式,將names列表作為函式的形參(定義函式時的引數叫形參)
defstudent
(names):
for name in names:
message='歡迎 '+name+' 同學加入高一三班'
print(message)
std_names=['yangmi','zhaoliying','tangyan']
#呼叫函式,並將列表作為函式的實參(呼叫函式時的引數叫實參)
student(std_names)
輸出:
歡迎 yangmi 同學加入高一三班
歡迎 zhaoliying 同學加入高一三班
歡迎 tangyan 同學加入高一三班
2、在函式中修改列表
以點名為例,點名前站一列,點名後站到另一列,學習怎麼在函式中修改列表
defroll_call
(student_l,student_r):
while student_l:
current_call=student_l.pop()
print(current_call+'同學到了嗎')
#列印已經點過名的佇列
defcall_over
(student_r):
for name in student_r:
print(name)
student_l=['yangmi','zhaoliying','tangyan']
student_r=
roll_call(student_l,student_r)
call_over(student_r)
輸出:
tangyan同學到了嗎
zhaoliying同學到了嗎
yangmi同學到了嗎
tangyan
zhaoliying
yangmi
注意:在設計函式時,盡量讓乙個函式只實現乙個具體的工作練習
1、建乙個學生列表,並將列表傳遞給函式,並列印每個學生的名字
def
show_student
(students):
for student in students:
print(student+'是乙個學生')
students=['yangmi','zhaoliying','tangyan','zhangjiaxin']
show_student(students)
輸出:
yangmi是乙個學生
zhaoliying是乙個學生
tangyan是乙個學生
zhangjiaxin是乙個學生
2、結合上例增加乙個函式,新增說明是三好學生的說明,並列印驗證
def
show_student
(students):
for student in students:
print(student)
defmake_great
(students):
i=0for student in students:
student=student+'是三好學生'
students[i]=student
i=i+1
return students
students=['yangmi','zhaoliying','tangyan','zhangjiaxin']
make_great(students)
show_student(students)
輸出:
yangmi是三好學生
zhaoliying是三好學生
tangyan是三好學生
zhangjiaxin是三好學生
3、由於修改時我不想修改原始列表,因此增加乙個副本進行修改,將副本和原始列表都輸出
def
show_student
(students):
for student in students:
print(student)
defmake_great
(students):
i=0for student in students:
student=student+'是三好學生'
students[i]=student
i=i+1
# print(students)
return students
students=['yangmi','zhaoliying','tangyan','zhangjiaxin']
students_2=students[:]
make_great(students_2)
show_student(students_2)
show_student(students)
輸出:
yangmi是三好學生
zhaoliying是三好學生
tangyan是三好學生
zhangjiaxin是三好學生
yangmi
zhaoliying
tangyan
zhangjiaxin
我該怎麼辦!
今天是我比較難受的一天,發現有些事情不到最後是不知什麼結局,或許你的一萬種猜想沒有一種實現,哎,作業雖然交了,但我還是心裡難受,我懂得了很多,不應對別人抱太大希望,應該自己去努力,不論結果怎麼樣但心裡是甜的,不堅持到最後一刻,或許成功還是不屬於你,就像我們副部,何苦堅持那麼久,幹了那麼多事,挨罵也接...
我該怎麼辦
想了好久,不知道該怎麼辦,家裡情況這個樣子,如今真的不知道是去是留。父親癱瘓在床,母親有些神經不正常,我應該是去上學還是留下來照顧他們。說實話,我一點都不想留下來,我沒有這個毅力,沒有一直照顧父親的毅力,也許時間長了我會厭煩,不知道說出這種話是不是算很不孝,1月份我在醫院的時候就是一直呆在了父親身邊...
Python該怎麼學?
冰凍三尺非一日之寒!學真本事,必定有枯燥難學的知識。會當臨絕頂,一定先爬山多寫,寫出好的 就是要不停的練習,唯有手熟 少問,對問題的解決能力,決定著你水平的高低 不要盲目下手,先構思 不要苛求完美,先做出效果。不管白貓黑貓,抓到老鼠就是好貓 少看部落格,多看官方手冊,僅做為參考。忘了就去查手冊 慎用...