函式複習(一) 函式基礎

2022-01-21 17:03:27 字數 2340 閱讀 1973

一、定義函式

1.如何自定義函式(return 返回值和引數不是必須要寫的)

#

語法def

函式名(引數1,引數2,引數3,...):

'''注釋

'''函式體

return

返回的值

#函式名要能反映其意義

2.函式的使用原則先定義,在呼叫   (******)

def

foo():

print('

from foo')

bar()

defbar():

print('

from bar')

foo()

#會報錯嗎? 不會

#結論:函式的使用,必須遵循原則:先定義,後呼叫我們在使用函式時,一定要明確地區分定義階段和呼叫階段,會先走定義階段的foo和bar,等到呼叫foo函式的時候,記憶體中已經存在bar函式了

3.函式在定義階段

只檢測語法,不執行**也就說,語法錯誤在函式定義階段就會檢測出來,而**的邏輯錯誤只有在執行時才會知道

4.定義函式的三種形式

#

1、無參:應用場景僅僅只是執行一些操作,比如與使用者互動,列印

#2、有參:需要根據外部傳進來的引數,才能執行相應的邏輯,比如統計長度,求最大值最小值

#3、空函式:設計**結構

二、呼叫函式

1.函式返回值

return

:函式內可以有多個return,但是只能執行一次return

執行return函式就立刻結束,並且return後的值當做本次呼叫的結果返回

return返回值沒有型別限制

無return->預設返回none

return 1個值->返回1個值

return 逗號分隔多個值->返回乙個元組

2.函式呼叫的三種形式

1語句形式:foo()

2 表示式形式:3*len('

hello')

3 當中另外乙個函式的引數:range(len('

hello

'))

三、函式的引數

1.具體應用 (******)重點

1.位置引數:按照從左往右的順序依次定義的引數

位置形參:必須被傳值,多乙個少乙個都不行

位置實參:與形參一一對應傳值

2.關鍵字引數:按照key=value的形式定義的實參

特點:指名道姓的給形參傳值,不再依賴位置注意:1.關鍵字實參必須在位置實參的後面。2.不能為同乙個引數賦值多次

3.預設引數:在函式定義階段,就已經為形參賦值了

特點:定義階段已經有值意味著呼叫階段可以不用傳值

位置引數通常用於經常變化的引數,而預設引數指的是大多數情況下都一樣的注意:1.預設引數必須放在位置形參的後面 2.預設引數的值只在定義時被賦值一次 3.預設引數的值通常應該是不可變型別

4.可變長引數:(分在形參使用和在實參使用)

在呼叫函式時,實參值的個數不固定

實參的形式有:位置實參,關鍵字實參在形參中使用的解決方案:用 *,**接收多餘的實參 (*接收多餘的位置實參,**接收多餘的關鍵字實參)

在實參中使用的解決方案:用*,**打散 (*打散元組,**打散字典,然後把打散的值傳給一一傳給形參)

了解:命名關鍵字引數

*後定義的引數,必須被傳值(有預設值的除外),且必須按照關鍵字實參key=value的形式傳遞

def foo(x,y,*,m,n)

print

(x,y)

print

(m,n)

foo(1,2,n=4,m=3) #

如果不用key=value形式傳參,那麼傳的值都會被*接收

Python基礎 函式知識複習

1.1 必需引數 傳統的函式定義方法 coding utf 8 usr bin python 必需引數 def fun value print value fun 12345 1.2 關鍵字引數 例如函式呼叫 fun age 18,name fadi python還真的是腦洞 coding utf ...

c 基礎複習 函式提高

c 中,函式的形參列表中的形參是可以由預設值的 include using namespace std 如果我們傳入資料,就用自己的資料,否則使用預設引數 返回值型別 函式名 形參 預設值 int fun int a,int b 10,int c 20 z注意事項 1 如果某個位置已經有了預設引數,...

AS函式複習

actionscript 3.0 中有兩種函式型別 方法 和函式閉包 方法 如果您將函式定義為類定義的一部分或者將它附加到物件的例項,則該函式稱為方法。函式閉包 如果您以其它任何方式定義函式,則該函式稱為函式閉包 隨機函式 var randomnumber number math.random 函式...