*函式是帶名字的**塊,用於定義具體的工作*需要在程式中多次執行同一項任務時,你無須反覆編寫完成該任務的**,而只需定義乙個執行該任務的函式,反覆呼叫
*通過使用函式,程式的編寫,閱讀,測試和修復都將更容易
定義乙個簡單函式
def print_user():
print("hello!")
print_user()
>>說明:函式用關鍵字def來告訴python要定義乙個函式
>>def後面空格接函式名,在這裡函式名為print_user()
>>函式名後面必須帶冒號(:)
>>所有函式體要縮排
向函式中傳遞資訊
在上面的函式中,如果我想列印任何的字串資訊,該怎麼做?可以按下方法操作
def print_user(s_str):
print(s_str)
print_user("yang")
輸出:yang
在定義print_user()函式時,定義在括號中的s_str變數,我們稱為形參
在呼叫print_user()函式時,我們傳遞了」yang」這個字串,值」yang」就是乙個實參。
實參是呼叫函式傳遞給函式的資訊,這個資訊儲存在形參s_str中。
位置實參
當多個形參的時候,我們傳遞實參時,一定要注意按照形參的位置相對應
例如:
def print_info(name , age):
print("name: "+name +" age: "+str(age))
print_info("yang",28)
-->name: yang age: 28
print_info(28,"yang")
-->name: 28 age: yang
結果千差萬別
關鍵字實參
關鍵字實參是傳遞給函式的名稱-值對,在實參中將形參和值關聯起來,這樣就不會錯了
def print_info(name , age):
print("name: "+name +" age: "+str(age))
print_info(name="yang",age=28)
print_info(age=28,name="yang")
-->name: yang age: 28
-->name: yang age: 28
結果表明,關鍵字實參的順序無關緊要。
使用關鍵字實參時,務必準確地指定函式中的形參名
預設值
編寫函式時,如果發現列印的年齡都是28歲,我們可以定義乙個預設形參。
例如:
def print_info(name , age=28):
print("name: "+name +" age: "+str(age))
可以如下呼叫:
print_info("yang")
print_info("yang" , 30)
print_info(name="yang" , age=31)
使用預設值時,在形參列表中必須把預設值形參放在形參列表的最後,這樣python依然能夠正確地解讀位置實參
在函式傳遞的引數中,也可以傳遞列表,字典,tuple …
函式並非總是顯示輸出列印語句,相反,它可以處理一些資料,並返回乙個或一組值。
函式返回的值稱為返回值。返回值讓程式中的大部分繁重工作放到函式中,我只想要乙個結果。
例如:
def my_sum(a , b):
return a+b
print(my_sum(2,3))
輸出:5
python裝飾器系列 七
裝飾器 利用 call 方法實現單例 所謂單例,是指乙個類的例項從始至終只能被建立一次。單例的實現有多種,這裡以 call 方法來實現 1 class single 2 instance none34 def init self,cls 5 self.cls cls67 def call self,...
python學習系列(七)函式和Lambda表示式
前面幾章全是基礎,語法和資料型別 這一章開始函式的學習 函式,程式語言靈魂,函式的呼叫是重點,它是完成邏輯功能的工具,使我們的 code 邏輯清晰。首先,函式語法格式 def 函式名 引數列表 函式體 看個例項 def fun name,age 30 print 我是 name print 今年 a...
python系列教程 python系列教程
宣告 在人工智慧技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴充套件知識更好的理解人工智慧技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由於這套python教程不是要由所寫,所以不如我的人工智慧技術教學風趣幽默,學起來比較枯燥 但它的知識點還是講...