函式:
函式的定義:
初中數學函式定義:一般的,在乙個變化過程中,如果有兩個變數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 foo3
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)
執行結果是:
1122
示例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表示的是實參
執行結果:
12
關鍵字傳值示例:
def foo(x,y):print(x)
print(y)
foo(y=1,x=2)
執行結果是:
21
位置傳值和關鍵字傳值兩者結合使用示例:
def foo(x,y):print(x)
print(y)
foo(1,y=2)
執行結果是:
12
(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 函式名 位置形參 元組形參 命名關鍵字形參 字典形參 文件字串 語句塊 注 中括號代表其內部可以省略 二 函式文件字串 函式內第一次未被賦值給任何變數的字串是此函式的文件字串。說明 ...