python使用函数目的_Python函数的概念和使用
Python
Python開發(fā)
Python語言
Python函數(shù)的概念和使用
函數(shù)
為了便于程序的維護和更好的實現(xiàn)模塊化,好的程序都會分解為很多函數(shù)。
可以這么說,對于任何的編程語言,函數(shù)都是一個非常重要的概念。
python 不僅簡化了函數(shù)的定義過程,而且還大量借鑒了其他函數(shù)編程語言中的優(yōu)秀特性。
本章內(nèi)容非常重要!
一、 函數(shù)的概念和作用
1.1什么是函數(shù)
函數(shù)就是把完成特定功能的一段代碼封裝起來。給該功能起一個名字(函數(shù)名)。
哪里需要實現(xiàn)該功能就在哪里調(diào)用該函數(shù)。
函數(shù)可以在任何時間任何地方調(diào)用。
所謂函數(shù),就是把具有獨立功能的代碼塊組織為一個小模塊,在需要的時候調(diào)用。
1.2 函數(shù)的作用
函數(shù)是能完成某一功能的代碼段
函數(shù)是可重復執(zhí)行的代碼段
函數(shù)方便管理和維護,便于復用
二、函數(shù)的使用
2.1 函數(shù)的使用步驟
定義函數(shù):封裝獨立的功能
調(diào)用函數(shù):就是執(zhí)行函數(shù)。(調(diào)用幾次就函數(shù)執(zhí)行幾次)
2.2 函數(shù)的定義
使用函數(shù)之前一定要先定義。
python 的函數(shù)定義非常簡單。
函數(shù)定義語法:
def 函數(shù)名([形參列表]):
函數(shù)體
說明:
def?是定義函數(shù)的關鍵字。(define function)
函數(shù)名是這個函數(shù)的符號(引用),調(diào)用這個函數(shù)的時候我們需要函數(shù)名。
函數(shù)名后的圓括號是必須的。
形參列表表示我們可以定義多個形參,接受函數(shù)調(diào)用時傳遞過來的參數(shù)。形參不是必須的,根據(jù)需要決定是否需要定義形參
圓括號后面必須有一個冒號:.
新起一行,必須有縮進來定義函數(shù)體。函數(shù)體就是函數(shù)每次調(diào)用的時候都會執(zhí)行的代碼。
示例代碼:# 定義無參函數(shù)
def show():
print("我是函數(shù)內(nèi)的代碼1")
print("我是函數(shù)內(nèi)的代碼2")
# 定義有參函數(shù),形參在函數(shù)內(nèi)部可以作為普通變量使用。
def show1(a, b):
print(a + b)
定義函數(shù)名稱的規(guī)則:
可以由字母,下劃線,和數(shù)字組成
數(shù)字不能開頭
不能與關鍵字重名
多個單詞小寫使用下劃線拼接:get_sum
2.3 函數(shù)的調(diào)用
定義函數(shù)的目的是為了讓函數(shù)做一些事情。
但是函數(shù)如果僅僅定義不會自己去執(zhí)行。
時刻記住一句話,函數(shù)只有被調(diào)用才能被執(zhí)行!
所以想要函數(shù)執(zhí)行,必須顯示的去調(diào)用函數(shù)。
在使用函數(shù)的時候,一定要保證聲明在前,調(diào)用在后!
2.3.1 簡單函數(shù)調(diào)用
函數(shù)調(diào)用非常簡單,只需要:?函數(shù)名(實參)即可。當然如果函數(shù)定義的時候沒有形參,則就不用實參。
def show():
print("我是函數(shù)內(nèi)的代碼1")
print("我是函數(shù)內(nèi)的代碼2")
show() # 調(diào)用函數(shù)
show() # 一個函數(shù)可以多次調(diào)用。每次調(diào)用都會執(zhí)行一次函數(shù)體的代碼
show()
2.3.2 帶形參的函數(shù)調(diào)用
函數(shù)聲明的時候,在括號內(nèi)的是形參。
那么在調(diào)用函數(shù)的時候應該傳遞相同屬性的參數(shù)過去,函數(shù)調(diào)用的時候的參數(shù),叫做實參!
形參和實參的個數(shù)必須匹配,但是有一種情況除外,后面再說。
def add(a, b):
print(a + b)
add(2, 3)
add(20, 3)
2.4函數(shù)的返回值
我們定義的函數(shù)可以完成一個的功能,很多情況下,功能完成之后需要給函數(shù)調(diào)用者返回一些數(shù)據(jù),這些返回的數(shù)據(jù)就需要用到函數(shù)的返回值功能。
返回值就是函數(shù)執(zhí)行完畢后返回給調(diào)用處的結(jié)果
2.4.1.return的使用
比如:定義一個函數(shù)可以實現(xiàn)兩個數(shù)的相加,然后返回給調(diào)用者計算的結(jié)果!
def add(a, b):
pass
n = a + b
return n
print(add(3, 5))
print(add(30, 5))
說明:
在函數(shù)內(nèi)任何地方都可以出現(xiàn)return。return的作用就是結(jié)束函數(shù),并把return后面的值返回給調(diào)用者。
一旦碰到?return,不管后面有多少代碼,不管是否處于循環(huán)中,函數(shù)都會立即結(jié)束。
如果整個函數(shù)內(nèi)部沒有出現(xiàn)return,則函數(shù)會自動執(zhí)行到函數(shù)體最后一行代碼。
如果函數(shù)體內(nèi)沒有return,則函數(shù)運行結(jié)束的時候自動返回None
return后面也可以不跟返回值,這種情況下主要是為了結(jié)束函數(shù),也會返回None?(return None可以簡寫為return。)
案例1:一個給定的數(shù),判斷是否為質(zhì)數(shù)
分析:定義一個函數(shù),這個給定的數(shù)通過參數(shù)傳遞,最后結(jié)果:是否為質(zhì)數(shù),通過返回一個bool值給調(diào)用者。質(zhì)數(shù)(prime number)又稱素數(shù),有無限個。質(zhì)數(shù)定義為在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)。
def is_prime(num):
for i in range(2, num):
if num % i == 0:
return False
return True
num = int(input("請輸入一個整數(shù):"))
if is_prime(num):
print("%d 是質(zhì)數(shù)!" % num)
else:
print("%d 不是質(zhì)數(shù)!" % num)
案例2:計算輸入的任意兩個數(shù)之間所有的質(zhì)數(shù)的和
分析:剛才已經(jīng)定義了判斷一個是否為質(zhì)數(shù),現(xiàn)在需要再定義一個可以計算兩個數(shù)之間所有的質(zhì)數(shù)的和的函數(shù),并把計算結(jié)果返回給調(diào)用者。
def is_prime(num):
for i in range(2, num):
if num % i == 0:
return False
return True
def add_prime(num1, num2):
sum = 0
for num in range(num1, num2+1):
if is_prime(num):
sum += num
return sum
num1 = int(input("請輸入第一個整數(shù):"))
num2 = int(input("請輸入第2個整數(shù):"))
print("%d 到 %d 的之間所有的質(zhì)數(shù)的和是:%d" % (num1, num2, add_prime(num1, num2)))
2.4.2.返回多個值
使用return一次只能返回一個值。
有些場景下,我們需要返回多個值。這種情況下我們我們可以把返回值的封裝到list或tuple中,接受者拿到這個list或tuple直接解包就可以使用了。
最好封裝在tuple中,因為tuple是不可變的, 所以效率比較高。
def foo(x):
return x ** 2, x ** 3, x ** 4
x = 4
a, b, c = foo(x)
print("%d 的平方是:%d, 3次方式:%d, 4次方是:%d" % (x, a, b, c))
2.5 文檔注釋
以前我們使用?#?來我們的代碼添加注釋,只使用單行注釋。
我們定義了一個好函數(shù),函數(shù)的描述等信息也應該讓調(diào)用者很容易獲取到,這個時候就用到文檔注釋。
文檔注釋將來可以直接生成?api?文檔方便閱讀。
如果要給函數(shù)添加文檔注釋,直接在函數(shù)內(nèi)部的首行放置一個字符串即可。字符串可以是單行的(" "或者' '),也可以是是多行的(""" """ 或 ''' ''')。
但是一般使用多行字符串來定義
作為國際慣例:
注釋的第一行,一般是對函數(shù)的簡述。
然后一個空行。
然后開始進行詳細描述函數(shù)功能等。def foo(x):
"""該函數(shù)是對參數(shù)做一些計算
計算參數(shù)的多個次冪
:param x: 要計算次冪的數(shù)字
:return: 返回2次冪、3次冪、4次冪組成的元組
"""
return x ** 2, x ** 3, x ** 4
print(foo.__doc__) # 打印函數(shù)的文檔注釋
內(nèi)容來源于網(wǎng)絡,如有侵權請聯(lián)系客服刪除
總結(jié)
以上是生活随笔為你收集整理的python使用函数目的_Python函数的概念和使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery中事件及常用事件总结、jQu
- 下一篇: websocket python爬虫_p