python入門day8(函式)

2021-09-14 00:36:56 字數 1984 閱讀 2406

近期在忙網路大賽,故更新的速度就會慢一些

(一)函式:

1.定義函式:

def greet_user():

"""顯示簡單的問候語"""

print("hello!")

greet_user()

向python指出了函式名,還可能在括號內支出函式為完成其任務需要什麼樣的資訊。在這裡,函式名為greet_user(),他不需要任何資訊就能完成工作,因此括號是空的(即便如此,括號也必不可少)。最後,定義以冒號結尾。文中的三引號可以用來注釋,描述了函式的作用,最後在末尾呼叫該函式。

2.位置實參:

在你呼叫函式的時候,python必須將函式呼叫中的每個實參都關聯到函式定義中的乙個形參,為此,最簡單的關聯方式是基於實參的順序。這種關聯方式被稱為位置實參

並且,我們可以多次呼叫該函式來完成我們的工作。 注意,因為我們使用的是位置實參,他的一一對應的特性要求我們一定要將形參與實參的順序對應起來。

3.關鍵字實參:**傳遞給函式的名稱—值對。**有乙個好處就是你不需要關心他們的位置,因為你需要傳遞的是實參中的名稱和值,還有乙個好處是你可以清楚的知道函式呼叫中各個值的用途。

def greet_user(name, year):

print("i am " + name)

print("i am a " + year + " old boy")

greet_user(year = '19', name = 'peter')

我們可以看到雖然順序與形參的順序不同,但是我們用的是關鍵字實參,所以輸出的效果與上面的位置實參一樣。

4.預設值:

def greet_user(name, year = 19):

print("i am " + name)

print("i am a " + str(year) + " old boy")

greet_user(name = 'peter')

呼叫預設值的時候,我們在函式呼叫的時候只有乙個實參,這個實參將關聯到函式定義中的第乙個形參,因此必須將這個沒有預設值的形參放在函式形參列表的首位,如果你顯式的給預設值形參提供了實參的話,python將會忽略這個預設值。再提一句,使用預設值的時候,在形參列表中必須先列出沒有預設值的形參,在列出有預設值的形參。這讓python仍然能夠正確的解讀位置實參。

5.while引起無限迴圈

while true:

print("please tell me your name")

break

注意:true必須是true,這個t必須是大寫的

6.禁止函式修改列表:

可以向函式傳遞列表的副本而不是原件;這樣的函式所做的任何修改都只影響副本,而絲毫不影響原件。

function_name(list_name[ : ])
切片法表示建立的列表的副本。雖然這樣可以不影響原始列表的內容,除非有充分的理由需要傳遞副本,否則還是應該將原始列表傳遞給函式,因為讓函式使用現成列表可避免花時間和記憶體建立副本。7.傳遞任意數量的實參:

形參中*name的星號讓python建立乙個名為name的空元組,並將接受到的所有值都封裝到這個元組中。

如果要讓函式接受不同型別的實參,必須在函式定義中將接納任意數量實參的形參放在最後,python先匹配位置實參與關鍵字實參,再將剩下的實參都收集到最後乙個形參中。

python學習筆記 day8

if 條件 語句if 條件 語句else 語句if 條件 語句elif 條件 語句else 語句python中使用elif代替else if,所以if語句的關鍵字是if elif else 需要注意的是 語句的縮排 python中沒有switch case語句 如果語句只有一條,可以寫在 if 後 ...

Python基礎刻意訓練 DAY8

學習內容 主要內容 異常處理 異常形式 含義assertionerror 斷言語句 assert 失敗 attributeerror 嘗試訪問未知的物件屬性 eoferror 使用者輸入檔案末尾標誌eof ctrl d floatingpointerror 浮點計算錯誤 generatorexit ...

python的異常處理(day8)

常見異常 異常處理語句 try block1 except exceptionname as alias block2 block1 可能出錯的 塊 exceptionname 可選引數,用於指定要捕獲的異常。如果在其右側加上as alias,則表示為當前的異常的乙個別名,通過該別名,可以記錄異常的...