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