新聞中心
所謂函數(shù),就是把具有獨(dú)立功能的代碼塊組織成為一個(gè)小模塊,在需要的時(shí)候調(diào)用,下面為大家詳細(xì)講解一下python中的函數(shù)。

創(chuàng)新互聯(lián)公司專注于廣信企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。廣信網(wǎng)站建設(shè)公司,為廣信等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
1. 函數(shù)
-
作用:
函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)的作用就是將常用的代碼封裝起來, 便于以后使用
-
函數(shù)的行為
-
-
函數(shù)的定義:實(shí)現(xiàn)函數(shù)功能的過程
def functionname( parameters ): '''函數(shù)_文檔字符串''' function_suite return [expression] # 函數(shù)不調(diào)用是不會(huì)自動(dòng)執(zhí)行的 -
函數(shù)的調(diào)用:使用其功能
def 函數(shù)名(): 一行或者多行代碼 # 函數(shù)不調(diào)用是不會(huì)自動(dòng)執(zhí)行的 # 調(diào)用函數(shù) 函數(shù)名()
-
2. 函數(shù)的參數(shù)
-
-
作用:
讓函數(shù)依據(jù)我們給定的值來進(jìn)行運(yùn)算. 這樣可以增強(qiáng)函數(shù)的通用性. 函數(shù)可以有多個(gè)參數(shù).
-
# 我們想要編寫一個(gè)具有加法功能函數(shù), 很顯然需要兩個(gè)參數(shù).
def my_add(num1, num2):
result = num1 + num2
print('num1 + num2 =', result)
my_add(10, 20)
-
參數(shù)的分類
-
-
實(shí)參:我們在調(diào)用函數(shù)時(shí)傳遞的
真實(shí)數(shù)據(jù)
-
形參:
函數(shù)參數(shù),形參只是代表真實(shí)傳遞的數(shù)值. 多個(gè)函數(shù)參數(shù)在傳遞時(shí)是從左向右傳遞的. 當(dāng)然, 在 Python 中我們也可以指定某個(gè)值給那個(gè)形參.
-
def my_add(num1, num2):
result = num1 + num2
print('num1 + num2 =', result)
my_add(num1=10, num2=20)
my_add(num2=20, num1=10)
-
按照從左向右的順序傳遞叫做
位置參數(shù).
-
按照形參名字傳遞叫做
關(guān)鍵字參數(shù).
能否在調(diào)用函數(shù)時(shí)既傳遞位置參數(shù), 又傳遞關(guān)鍵字參數(shù)呢?
def my_add(num1, num2, num3, num4):
result = num1 + num2 + num3 + num4
return result
my_add(100, 200, 300, num4=10)
可以, 只需要保證位置參數(shù)在關(guān)鍵字參數(shù)之前即可
3. 函數(shù)的缺省參數(shù)(默認(rèn)參數(shù))
-
定義:
當(dāng)函數(shù)調(diào)用中省略了實(shí)參時(shí)默認(rèn)使用的值.
-
默認(rèn)參數(shù)的語法與使用:
-
-
在函數(shù)聲明或定義時(shí), 直接對參數(shù)賦值. 這就是設(shè)置形參的默認(rèn)參數(shù).
-
在函數(shù)調(diào)用時(shí), 省略部分或全部的參數(shù). 這時(shí)可以用默認(rèn)參數(shù)來代替.
-
-
案例分析:
def my_function(a, b=20, c=30):
return a+b+c
my_function(10)
my_function(10, 100)
my_function(10, 100, 1000)
注意: 帶有默認(rèn)值的參數(shù)一定要位于參數(shù)列表的最后面.
4. 局部變量和全局變量
-
全局變量:
-
-
全局變量可以被當(dāng)前 python 文件內(nèi)的所有函數(shù)直接使用.
-
-
-
在函數(shù)外部定義的變量.
-
全局指的是該變量在當(dāng)前 python 文件范圍內(nèi)是可見的.
-
使用范圍:
-
-
局部變量:
-
-
該變量只能在定義的函數(shù)內(nèi)部使用.
-
-
-
在函數(shù)內(nèi)部定義的變量.
-
使用范圍:
-
-
案例分析:
# 定義全局變量
g_val = 100
# 在函數(shù)內(nèi)部可以訪問全局變量
def my_function1():
print(g_val)
# 在函數(shù)內(nèi)部定義局部變量 my_val
def my_function2():
my_val = 100
# 嘗試輸出 my_function2 函數(shù)中定義的局部變量
def my_function3():
print(my_val)
# 函數(shù)調(diào)用
my_function1()
my_function2()
my_function3()
如果局部變量和全局變量命名沖突, Python 解釋器會(huì)怎么做? Python 解釋器會(huì)在函數(shù)內(nèi)部搜索變量 total_value, 如果找到了就直接使用, 如果找不到則到全局范圍內(nèi)搜索.
total_value = 100
def my_function():
total_value = 200
print('total_value:', total_value)
my_function()
5. 函數(shù)的返回值
-
用法:
使用 return 語句將函數(shù)的運(yùn)行結(jié)果返回給函數(shù)的調(diào)用者.
-
print函數(shù) 和 return 的區(qū)別是什么?
print 只負(fù)責(zé)將內(nèi)容輸出到屏幕顯示. 而 return 會(huì)將函數(shù)計(jì)算結(jié)果, 返回給函數(shù)的調(diào)用者.
-
關(guān)于 return 注意下以下幾點(diǎn).
-
-
只要函數(shù)執(zhí)行碰到 return 就會(huì)停止執(zhí)行.
-
函數(shù)中可以編寫多個(gè) return, 但有且只有一個(gè) return 會(huì)執(zhí)行.
-
return 后面可以跟上要返回的值, 也單獨(dú)使用相當(dāng)于 return None.
-
break 用在循環(huán)中, 用來終止循環(huán)執(zhí)行. return 用在函數(shù)中, 用來終止函數(shù)執(zhí)行.
-
6. 函數(shù)文檔及作用
-
作用:
-
-
函數(shù)也需要添加注釋, 方便函數(shù)功能、參數(shù)以及返回值的含義能夠被調(diào)用者知悉.
-
能夠在調(diào)用時(shí)快捷查看函數(shù)相關(guān)信息
-
-
和單行注釋相比:
-
-
普通的單行、多行注釋, 需要查看函數(shù)定義時(shí)才能看到
-
-
快捷鍵
-
-
通過 ctrl + q 快捷鍵可以查看函數(shù)信息, 也可以通過 help() 函數(shù)來查看函數(shù)信息
-
-
工具:
-
-
DocString 是一個(gè)重要的工具, 由于它幫助你的程序文檔更加簡單易懂.
-
網(wǎng)站名稱:淺談python中的函數(shù)
當(dāng)前URL:http://m.fisionsoft.com.cn/article/coeeejj.html


咨詢
建站咨詢
