python基礎之函式(自定義函式)

2022-07-20 18:12:09 字數 3492 閱讀 9264

函式:

函式的定義:

初中數學函式定義:一般的,在乙個變化過程中,如果有兩個變數x和y,並且對於x的每乙個確定的值,y都有唯一確定的值與其對應,那麼我們就把x稱為自變數,把y稱為因變數,y是x的函式。自變數x的取值範圍叫做這個函式的定義域,程式語言中函式定義:函式是邏輯結構化和過程化的一種程式設計方法。

函式的三大優點:

1.**重用

2.保持一致性

3.可擴充套件性

函式的分類:

(1)、內建函式

(2)、自定義函式

接下來說的都是自定義函式相關:

1、關於如何定義函式:

def:定義函式的關鍵字

test:函式名

():內可定義形參

"":文件描述(非必要,但是強烈建議為你的函式新增描述資訊)

x+=1:泛指**塊或程式處理邏輯

return:定義返回值

2、關於函式的引數可分為3種:

a、定義無參函式:這種函式的執行就是普通語句,不需要外部傳來的引數,如果定義的是無參函式的話,呼叫的時候也是無引數

b、定義有參函式:需要外部傳來的引數,如果定義的是有參函式的話,呼叫的時候也需要加引數

c、定義空函式

定義函式示例:

def foo(x,y):#括號內的x和y都屬於引數(形參)

#定義乙個取x+y的值的函式

print("from foo")

res=x+y

return res #return是返回值

z=foo(1,2)#括號內的x和y都屬於引數(實參)

print(z)

執行結果是: 

from foo

3

3、關於return返回值(無參函式不需要返回值,有參函式需要返回值)

函式和過程:

過程定義:過程就是簡單特殊沒有返回值的函式,沒有返回值就是過程

a、不寫return的話,返回值就是none

b、寫return乙個值的話,就返回乙個值

c、寫return多個值的話(這些值可以是任意資料型別),就返回多個值,以元組的方式呈現

示例1:

def foo(x,y):

return 1,2,3,[4,5],

res=foo(1,2)

print(res)

執行結果是:(以元組的方式呈現)

(1, 2, 3, [4, 5], )

示例2:

def foo(x,y):

return 1,2,3

a,b,c=foo(4,5)

print(a)

print(b)

print(c)

執行結果是:

123

4、關於函式的引數:

a、定義:定義時,括號裡寫的就是形式引數     >>>>>>   即形參,形參就是變數名

b、呼叫:函式呼叫時,括號裡寫的就是實際引數   >>>>>  即實參,實參就是變數值,實參可以是變數的形式

def foo(x,y):#x和y表示的是形參

print(x)

print(y)

foo(1,2)#1和2表示的是實參

區別:形參是虛擬的,不占用記憶體空間,.形參變數只有在被呼叫時才分配記憶體單元,實參是乙個變數,占用記憶體空間,資料傳送單向,實參傳給形參,不能形參傳給實參

注意:寫函式的時候,傳值最好不要傳可變的資料型別,容易影響全域性

示例1:

def foo(x,y):

print(x)

print(y)

a=11

b=22

foo(a,b)

執行結果是:  

11

22

示例2:

def foo(x,y):

print(x)

print(y)

x=[1,2,3]

y=22

foo(x,y)

執行結果是:

[1, 2, 3]

22

5、關於形參和實參:

(1)、關於實參的傳值需要注意三點:

a、按照位置傳值

b、按照關鍵字傳值

c、位置傳值和關鍵字傳值兩者結合使用(需要注意:1、位置傳值必須要在關鍵字傳值的前面;2、對於乙個形參,只能賦值一次)

位置傳值示例:

def foo(x,y):#x和y表示的是形參

print(x)

print(y)

foo(1,2)#1和2表示的是實參

執行結果:

1

2

關鍵字傳值示例:

def foo(x,y):

print(x)

print(y)

foo(y=1,x=2)

執行結果是:

2

1

位置傳值和關鍵字傳值兩者結合使用示例:

def foo(x,y):

print(x)

print(y)

foo(1,y=2)

執行結果是:

1

2

(2)、關於形參:

a、形參位置引數(必須傳值的引數,少乙個都不行)

b、形參的預設引數(呼叫時不需傳值)

經常變換的可用位置引數,常用的可用預設引數

注意:多引數時,預設引數必須放到位置引數的後面

c、*args

d、**kwargs

形參的位置引數示例:

def foo(x,y,z,):

print(x)

print(y)

print(z)

foo(1,2,3)#必須給上面的形參x y z每乙個傳值

執行結果:

123

形參的預設引數示例:

def foo(x,y,z=3,):

print(x)

print(y)

print(z)

foo(1,2)#不需要給預設引數z傳值

執行結果是:

123

自定義函式 Excel之自定義函式

在excel中,當系統函式不能滿足我們的需求時候,我們可以使用vba自定義函式,如抓取網頁資料,翻譯詞彙,手機號歸屬地查詢等。下面將介紹2個自定義函式,idymd函式 身份證年月日性別 通過身份證號,返回性別,出生年月日。語法 idymd id 引數 id,身份證號,預設身份證長度18位。vba 如...

Python基礎9 自定義函式

函式是組織好的可重複使用的,用來實現單一或相關聯功能的 段 函式能提高應用的模組性和 的重複利用率 python提供了許多內建函式,比如print 也可以自己建立函式,即自定義函式自定義函式的建立和呼叫 不帶引數的自定義函式 def sayhi print hi 呼叫函式 sayhi hi 帶引數的...

Python自定義函式基礎概念

一 函式定義語法 def 函式名 形參列表 語句塊函式定義語句 def 語句 的完整語法 裝飾器1 裝飾器2 def 函式名 位置形參 元組形參 命名關鍵字形參 字典形參 文件字串 語句塊 注 中括號代表其內部可以省略 二 函式文件字串 函式內第一次未被賦值給任何變數的字串是此函式的文件字串。說明 ...