欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python語(yǔ)法教程之def()函數(shù)定義及用法

 更新時(shí)間:2023年01月07日 11:05:20   作者:Anfies  
函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段,下面這篇文章主要給大家介紹了關(guān)于python語(yǔ)法教程之def()函數(shù)定義及用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

什么是函數(shù)?

我們?cè)诰幊痰倪^(guò)程中往往會(huì)發(fā)現(xiàn),實(shí)現(xiàn)某一功能的代碼塊會(huì)被頻繁地使用。如果每次使用這段代碼都得復(fù)制粘貼,這會(huì)使得代碼冗長(zhǎng)而又臃腫,增大了代碼的閱讀難度。為了方便我們實(shí)現(xiàn)對(duì)代碼塊的復(fù)用,人們提出了函數(shù)功能。

如何定義函數(shù)?

函數(shù)的定義以關(guān)鍵字def開(kāi)頭,后面接函數(shù)名稱和圓括號(hào)。

括號(hào)中放入函數(shù)需要的參數(shù)。

通過(guò)冒號(hào)和縮進(jìn)控制函數(shù)內(nèi)容。

函數(shù)的結(jié)構(gòu)如下所示:

def 函數(shù)名(參數(shù)):
    函數(shù)體

定義第一個(gè)函數(shù)

在學(xué)習(xí)一門(mén)語(yǔ)言時(shí),我們最先學(xué)會(huì)的是如何輸出Hello world。那么,我們的第一個(gè)函數(shù)也就從最簡(jiǎn)單的輸出Hello world開(kāi)始。

def hello():
    print('Hello world!')
    
hello()

輸出:

Hello world!

可以看到,我們調(diào)用了我們定義的hello函數(shù),函數(shù)執(zhí)行了其中的print語(yǔ)句。

什么是形參實(shí)參,什么是返回值?

這里我們定義一個(gè)可以計(jì)算兩個(gè)數(shù)之和的函數(shù)add1,可以先運(yùn)行一下看看。

def add1(num1, num2):
    result = num1 + num2

    return result

x1, x2 = 1, 2
y = add1(x1, x2)
print(y)

輸出:

3

函數(shù)完美地計(jì)算出了1加2的值。

同剛才的Hello world函數(shù)相比,我在add函數(shù)中加入了num1、num2和return。其運(yùn)作原理如下:

在調(diào)用add函數(shù)時(shí),我們將x1,x2傳入add中,由num1和num2分別接收了來(lái)自x1和x2的值,將num1和num2的數(shù)值相加后傳給result,最后函數(shù)輸出result的值給y,我們打印出y的值,就是3。

那么這里面的num1、num2就是形參,x1、x2就是實(shí)參,return result就是函數(shù)的返回語(yǔ)句,其返回的就是result的值,所以result就是返回值。

由此可見(jiàn),形參就是我們?cè)诤瘮?shù)定義過(guò)程中定義在括號(hào)內(nèi)的參數(shù)。實(shí)參就是我們輸入函數(shù)的參數(shù),返回值就是return后面的語(yǔ)句的計(jì)算值。

我比較喜歡通過(guò)數(shù)學(xué)中對(duì)函數(shù)的定義來(lái)理解編程語(yǔ)言中的函數(shù)。在數(shù)學(xué)中函數(shù)的定義式是y = f(x)那么這里x就是我們傳入的參數(shù),f就是函數(shù)體,用來(lái)對(duì)x進(jìn)行計(jì)算,計(jì)算結(jié)果y就是函數(shù)的返回值。

函數(shù)參數(shù)的一些額外用法

還是剛才的add1函數(shù),但是我們參數(shù)的賦值方式不一樣了:

def add1(num1, num2):
    result = num1 + num2

    return result
    
y = add1(num1=1, num2=2)
print(y)

輸出:

3

我們也可以對(duì)函數(shù)的形參賦予初始值

def add2(num1=1, num2=1):
    result = num1 + num2

    return result

y = add2()
print(y)

輸出:

2

在形參賦初值的情況下,我們又可以如下進(jìn)行傳參。

def add2(num1=1, num2=2):
    result = num1 + num2

    return result

y = add2(3)
print(y)

輸出:

5

可見(jiàn)3按順序替換了add2函數(shù)的第一個(gè)形參,導(dǎo)致num1變?yōu)?,result變?yōu)?。

那如果我們想不按順序更改其中的參數(shù)呢?

def add2(num1=1, num2=2):
    result = num1 + num2

    return result

y = add2(num2=3)
print(y)

輸出:

4

可以看到,3并沒(méi)有按順序替換add2函數(shù)的第一個(gè)參數(shù),而是傳給了num2,這樣result的值就是4了。

任意傳遞實(shí)參

當(dāng)我們傳入函數(shù)中的參數(shù)不固定怎么辦呢?

def save(*temp):
    return temp


y = save('1', 2, 'abc', True)
print(y)

輸出:

('1', 2, 'abc', True)

可以看到,如果形參加上一個(gè)星號(hào),它就相當(dāng)于一個(gè)元組,我們傳入的參數(shù)將以元組的形式保存。

def student(**temp):
    return temp


y = student(name='老王', age=20, high=180, is_student=True)
print(y)

輸出:

{'name': '老王', 'age': 20, 'high': 180, 'is_student': True}

當(dāng)形參前帶有兩個(gè)星號(hào)時(shí),它就相當(dāng)于一個(gè)字典了。

附加

函數(shù)也可以寫(xiě)在其他文件里用來(lái)調(diào)用。這里我們還是用一開(kāi)始的add1函數(shù)。

from aboutadd import add1

y = add1(1, 2)
print(y)

輸出:

3

通過(guò)圖片可以看到文件間的關(guān)系。

總結(jié)

到此這篇關(guān)于python語(yǔ)法教程之def()函數(shù)定義及用法的文章就介紹到這了,更多相關(guān)python def()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python list sort方法的具體使用

    Python list sort方法的具體使用

    list.sort()方法是Python的列表方法,用于對(duì)原列表進(jìn)行排序。本文詳細(xì)的介紹了list.sort的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-12-12
  • 簡(jiǎn)化Python的Django框架代碼的一些示例

    簡(jiǎn)化Python的Django框架代碼的一些示例

    這篇文章主要介紹了簡(jiǎn)化Python的Django框架代碼的一些示例,實(shí)際上文中只是抽取了一些Django中最基本的功能用于簡(jiǎn)化入門(mén)者的上手復(fù)雜度,下,需要的朋友可以參考下
    2015-04-04
  • 解讀時(shí)間序列分析之ADF檢驗(yàn)

    解讀時(shí)間序列分析之ADF檢驗(yàn)

    這篇文章主要介紹了解讀時(shí)間序列分析之ADF檢驗(yàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Django REST Framework序列化外鍵獲取外鍵的值方法

    Django REST Framework序列化外鍵獲取外鍵的值方法

    今天小編就為大家分享一篇Django REST Framework序列化外鍵獲取外鍵的值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python異?;?lèi)BaseException詳解

    python異?;?lèi)BaseException詳解

    這篇文章主要為大家介紹了python異常基類(lèi)BaseException詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • ?python中字符串的常見(jiàn)操作總結(jié)(二)

    ?python中字符串的常見(jiàn)操作總結(jié)(二)

    這篇文章主要介紹了python中字符串的常見(jiàn)操作,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Python寫(xiě)入MySQL數(shù)據(jù)庫(kù)的三種方式詳解

    Python寫(xiě)入MySQL數(shù)據(jù)庫(kù)的三種方式詳解

    Python 讀取數(shù)據(jù)自動(dòng)寫(xiě)入 MySQL 數(shù)據(jù)庫(kù),這個(gè)需求在工作中是非常普遍的,主要涉及到 python 操作數(shù)據(jù)庫(kù),讀寫(xiě)更新等。本文總結(jié)了Python寫(xiě)入MySQL數(shù)據(jù)庫(kù)的三種方式,需要的可以參考一下
    2022-06-06
  • Python for 循環(huán)語(yǔ)句的使用

    Python for 循環(huán)語(yǔ)句的使用

    這篇文章主要介紹了Python for 循環(huán)語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06
  • python代碼有一行標(biāo)黃問(wèn)題的解決方案

    python代碼有一行標(biāo)黃問(wèn)題的解決方案

    這篇文章主要介紹了python代碼有一行標(biāo)黃問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Pandas直接讀取sql腳本的方法

    Pandas直接讀取sql腳本的方法

    這篇文章主要介紹了Pandas直接讀取sql腳本的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論