官术网_书友最值得收藏!

2.5 函數(shù)

在Python中,將用于實現(xiàn)某種特定功能的若干條語句組合在一起,稱為函數(shù)。本節(jié)將簡要介紹Python中的函數(shù)定義及使用方法。

2.5.1 函數(shù)的定義與調(diào)用

1.函數(shù)定義的一般形式

函數(shù)由關(guān)鍵字def來定義,其一般形式為:

其中,參數(shù)可以為空。當有多個參數(shù)時,參數(shù)之間用逗號“,”分隔。當函數(shù)無返回值,可以省略return語句。

【例2-15】創(chuàng)建一個名為Hello的函數(shù),其作用為輸出“歡迎進入Python世界”的字符內(nèi)容。

創(chuàng)建該函數(shù)的程序段如下:

在程序中調(diào)用Hello()函數(shù),將顯示“歡迎進入Python世界”的字符內(nèi)容。

【例2-16】創(chuàng)建一個名為sum()的函數(shù),其作用為計算n以內(nèi)的整數(shù)之和(包含n)。

下面為實現(xiàn)計算n以內(nèi)的整數(shù)之和的函數(shù)程序段:

2.函數(shù)的調(diào)用

在Python中,直接使用函數(shù)名調(diào)用函數(shù)。如果定義的函數(shù)包含參數(shù),則調(diào)用函數(shù)時也必須使用參數(shù)。

【例2-17】創(chuàng)建顯示如下排列字符的函數(shù),并編寫程序調(diào)用該函數(shù)。

程序代碼如下:

將程序保存為ex2_17.py。

運行程序:

     python ex2_17.py

程序運行結(jié)果如下:

【例2-18】應(yīng)用函數(shù),計算1~100的和。

程序代碼如下:

將程序保存為ex2_18.py。

運行程序:

     python ex2_18.py

程序運行結(jié)果如下:

     5050

2.5.2 局部變量與全局變量

在函數(shù)體內(nèi)部定義的變量或函數(shù)參數(shù)稱為局部變量,該變量只在該函數(shù)內(nèi)部有效。在函數(shù)體外部定義的變量稱為全局變量,全局變量在變量定義后的代碼中都有效。當全局變量與局部變量同名時,則在定義局部變量的函數(shù)中,全局變量被屏蔽,只有局部變量有效。

全局變量在使用前要先用關(guān)鍵字global聲明。

【例2-19】全局變量與局部變量同名的示例。

程序代碼如下:

將程序保存為ex2_19.py。

運行程序:

     python ex2_19.py

程序運行結(jié)果如下:

     局部變量x = 30
     全局變量x = 10

2.5.3 常用內(nèi)置函數(shù)

Python內(nèi)置函數(shù)是python系統(tǒng)內(nèi)部創(chuàng)建的,在Python的程序中,可以隨時調(diào)用這些函數(shù),不需要另外定義。

例如,最常見的print()是內(nèi)置函數(shù),在程序中直接使用:

     print("Hello World!")

而平方根函數(shù)sqrt()不是內(nèi)置函數(shù),使用該函數(shù)時需要引用math模塊:

     import math
     y = math.sqrt(25)

Python常用內(nèi)置函數(shù)如表2.3所示。

表2.3 常用內(nèi)置函數(shù)

【例2-20】數(shù)學運算函數(shù)示例。

程序代碼如下:

將程序保存為ex2_20.py。

運行程序:

     python ex2_20.py

程序運行結(jié)果如下:

2.5.4 匿名函數(shù)lambda

在Python中,可以使用匿名函數(shù)。匿名函數(shù)即沒有函數(shù)名的函數(shù)。

通常,用lambda聲明匿名函數(shù)。

例如,計算兩個數(shù)的和,可以寫成:

     add = lambda x, y : x+y
     print(add(1,2))

輸出的結(jié)果為3。

從上面示例可以看到,lambda表達式的計算結(jié)果相當于函數(shù)的返回值。

【例2-21】用lambda表達式,求三個數(shù)的和。

程序代碼如下:

將程序保存為ex2_21.py。

運行程序:

     python ex2_21.py

程序的運行結(jié)果如下:

     60
     4 8 16
主站蜘蛛池模板: 安顺市| 新余市| 孟州市| 体育| 嘉善县| 卢氏县| 扬中市| 根河市| 孟连| 通道| 吉隆县| 沐川县| 诏安县| 科技| 湘乡市| 莱阳市| 龙泉市| 长治县| 银川市| 中江县| 石棉县| 涞水县| 武穴市| 阳泉市| 荆州市| 泰顺县| 永平县| 乌拉特前旗| 桓台县| 封丘县| 香河县| 梅河口市| 峨眉山市| 武强县| 卢湾区| 张家界市| 喀喇| 池州市| 鹤山市| 水城县| 清新县|