python3.7函數基礎知識有哪些

本篇內容介紹了“python3.7函數基礎知識有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創新互聯主營阿拉爾網站建設的網絡公司,主營網站建設方案,重慶APP開發公司,阿拉爾h5重慶小程序開發搭建,阿拉爾網站營銷推廣歡迎阿拉爾等地區企業咨詢

一、函數

從開始接觸python就接觸了函數。 例如 input()函數用于獲取用戶鍵盤輸入、print()函數用于輸出結果、range()函數用于生成整數序列、len()函數用于獲取序列的長度。不僅如此python還為我們提供了自定義函數。即將有規律,可重復使用的代碼封裝成函數,從而達到一次編寫多次調用的結果。由此可見我們可以簡單的認為函數是可以實現特定功能的代碼塊。

二、函數的定義

假如我們要求0-100之間的和應該怎么將其寫成函數呢?

def sun():

a = 0

for i in list(range(101)):

a += i

print(a)

sun()

--------------------

5050

上述代碼我們定義了一個函數實現0-100的求和。 而且得到了準確的結果。 首先用def關鍵字用來定義一個函數。后面跟一個函數名。 函數名顧名思義就是函數的名字。 這個名字是我們自定義的同樣遵循命名規范。函數名后面的"()"表示參數列表。 具體會在下一個列子中講到。 括號后面的是函數體即我們的求和功能。 程序的最后一行sun()稱之為函數的調用。 定義了函數如果不調用就相當于不執行。簡而言之也就無法生成求和的功能。

同時我們思考另一個問題。 不是說函數是可以重復利用的嘛。 很明顯上述函數只能完成0-100的求和。 假如說要完成1-1000,或者0-300之間的求和,難道要繼續寫嘛。顯然不是。

def sun(mag):

a = 0

for i in list(range(mag)):

a += i

print(a)

sun(1002)

sun(301)

501501

-----------------

45150

通過上述代碼我們發現我們在示例1 的基礎上在參數列表假如mag,這個成為參數。 關于參數后面還會具體講到。 一個參數可以有多個參數。 參數與參數之間用逗號隔開。 與此同時我們吧range里原先的100換成了我們的參數。 此時不難發現我們在調用函數的時候分別在括號里填上了1001和301。 這樣就實現了我們提出的求0-1000和0-300求個的功能。

那么我們有提出新的疑問。假如說我們不僅要實現求和。 然后還要將求出來的和參與別的運算。此時我們又應該怎么做呢?

def sun(mag):

a = 0

for i in list(range(mag)):

a += i

return a

b = sun(1002)

print(b)

c = b - 10000

print(c)

501501

------------------

491501

我們在示例2 的基礎上又添加了return a 這句話的意思是把計算結果返回到函數調用的地方。這樣我們就可以用個計算結果去做別的事了。

小結:

函數名:其實就是一個符合 Python 語法的標識符,但不建議讀者使用 a、b、c 這類簡單的標識符作為函數名,函數名最好能夠體現出該函數的功能。

形參列表:即上面括號里的函數列表,設置該函數可以接收多少個參數,多個參數之間用逗號( , )分隔。

[return [返回值] ]:整體作為函數的可選參參數,用于設置該函數的返回值。也就是說,一個函數,可以用返回值,也可以沒有返回值,是否需要根據實際情況而定

三、函數的調用

到目前為止對函數的調用已經比較熟悉。 即 函數名(形參值),函數名即指的是要調用的函數的名稱;形參值指的是當初創建函數時要求傳入的各個形參的值,需要注意的是,創建函數有多少個形參,那么調用時就需要傳入多少個值,且順序必須和創建函數時一致。即便該函數沒有參數,函數名后的小括號也不能省略。

四、pass語句

如果想定義一個什么事也不做的空函數,可以用pass語句.pass語句什么都不做,那有什么用?實際上pass可以用來作為占位符,比如現在還沒想好怎么寫函數的代碼,就可以先放一個pass,讓代碼能運行起來。

def sun():

pass

五、為函數添加說明文檔

函數不僅僅是給自己用的。 在一個團隊中很可能其他人也要用到。 這時如果他不知道函數的功能就沒法準確的調用。或者時隔很久要做維護和修改或者新員工要接手項目。 如果沒寫注釋不僅效率低。而且有可能回成為吐槽的對象。 因此添加說明文檔必不可少。例如

"""

功能:求指定序列的和

mag 要生成的序列的最大值

"""

def sun(mag):

a = 0

# 通過循環求和并返回結果

for i in list(range(mag)):

a += i

return a

b = sun(1002)

print(b)

六、參數檢查

函數調用時如果參數的個數不對。python的解釋器會自動檢查出來

"""

功能:求指定序列的和

mag 要生成的序列的最大值

"""

def sun(mag):

a = 0

# 通過循環求和并返回結果

for i in list(range(mag)):

a += i

return a

b = sun()

print(b)

Traceback (most recent call last):

File "/Users/apple/Documents/重要文件/python3/python20.py", line 12, in

b = sun()

TypeError: sun() missing 1 required positional argument: 'mag'

但是參數的類型不對那么解釋器就無能為力了。

def my_list(number):

print(list(range(number)))

my_list("10")

Traceback (most recent call last):

File "/Users/apple/Documents/重要文件/python3/python20.py", line 5, in

my_list("10")鄭州正規人流醫院 www.zykdrl120.com

File "/Users/apple/Documents/重要文件/python3/python20.py", line 3, in my_list

print(list(range(number)))

TypeError: 'str' object cannot be interpreted as an integer

顯然我們要生成0-9的列表。而我們偏偏傳入了字符串這時就會報錯。此時內置函數isinstance()就派上用場了

def my_list(number):

if isinstance(number, int):

print(list(range(number)))

else:

print("只接受整型的數值")

my_list("10")

my_list(10)

只接受整型的數值

---------------

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

那么可不可以一個參數滿足兩個或者以上類型呢?當然可以

def my_list(number):

if isinstance(number, (int, float, str)):

print("我滿足了條件")

else:

print("我不滿足條件")

my_list("10")

my_list(10)

my_list((1, 2))

我滿足了條件

我滿足了條件

我不滿足條件

七、函數返回多個值

def my_list():

return 10, 20, [1, 3]

a = my_list()

print(a)

(10, 20, [1, 3])

由上述例子可知函數是可以一次性返回多個值的。但是這個返回值是tuple

“python3.7函數基礎知識有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

網站標題:python3.7函數基礎知識有哪些
標題路徑:http://m.kartarina.com/article8/jedsop.html

成都網站建設公司_創新互聯,為您提供網站設計公司品牌網站建設建站公司網站改版搜索引擎優化域名注冊

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 人禽无码视频在线观看| 久久青青草原亚洲av无码| 亚洲熟妇无码乱子AV电影| 国模无码一区二区三区不卡| 无码视频在线观看| 色情无码WWW视频无码区小黄鸭| 精品无码专区亚洲| 2014AV天堂无码一区| 无码精品蜜桃一区二区三区WW | 国产精品无码亚洲一区二区三区| 国产成年无码久久久免费| 亚洲a∨无码男人的天堂| 色欲AV无码一区二区三区 | 亚洲成无码人在线观看| 无码日韩人妻AV一区二区三区 | 18禁超污无遮挡无码免费网站国产 | 亚洲AV无码一区二区三区系列| 亚洲AV无码专区亚洲AV桃| 亚洲va无码va在线va天堂| 69成人免费视频无码专区| 亚洲AV综合色区无码二区偷拍| 一区二区三区人妻无码| 无码国产成人午夜电影在线观看| 精品爆乳一区二区三区无码av| 久久精品aⅴ无码中文字字幕不卡| 亚洲av麻豆aⅴ无码电影| 伊人久久大香线蕉无码麻豆| 久久精品亚洲AV久久久无码| 无码国产精成人午夜视频一区二区| 精品无码成人久久久久久| 国产精品无码专区在线观看| 亚洲AV成人无码网站| 99久久无码一区人妻a黑| 日韩精品无码一区二区三区不卡 | 少妇性饥渴无码A区免费| 夜夜精品无码一区二区三区 | 自拍中文精品无码| 亚洲精品无码专区久久同性男| 无码精品人妻一区二区三区影院| 日韩成人无码影院| 国产精品无码不卡一区二区三区|