本篇內容介紹了“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。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯