Python--Demo8--函數定義和函數調用


我們已經使用了一些python內建函數,比如print()、input()、str()等等。

也使用了一些python自帶模塊的一些庫函數,比如math模塊的abs()函數。

現在我們來學習一下如何自定義一個函數?

函數定義:

語法:def關鍵字、函數名、([參數])、冒號、下一行縮進代碼塊(使用return 值 作為函數返回值)。

函數調用:函數名([參數])

示例:自定義一個函數,要求傳入一個任意數值,返回傳入參數的絕對值。

>>> def my_abs(invalue):
...     if invalue<0:
...             invalue=-invalue
...     return invalue
...
>>> my_abs(-1)
1
>>> my_abs(2)
2
>>> my_abs(-0)
0
>>> my_abs(0)
0

說明:my_abs()是一個帶參數、帶返回值的函數

示例:自定義一個無參數、不帶return的函數。

>>> def my_function():
...     print('你好python...')
...
>>> rtn=my_function()
你好python...
>>> print(rtn)
None
>>> type(rtn)
<class 'NoneType'>

說明:my_function()執行后,輸出返回值為None?這是因為如果我們沒有寫return語句,python會為我們自動在函數末尾追加一個return None。

示例:定義函數 return后面跟多個以逗號隔開的值

>>> def change_value(p1,p2):
...     tmp=p1
...     p1=p2
...     p2=tmp
...     return p1,p2
...
>>> change_value(11,90)
(90, 11)
>>> value1,value2=change_value(7,121)
>>> value1
121
>>> value2
7

說明:return 后面跟多個值,以逗號隔開,貌似我們最終能夠得到多個值,其實不然,我們得到的是一個元組。從上面的執行結果就可以看出。

示例:定義一個空函數,需要用到pass關鍵字。

>>> def dono():
...     pass
...
>>> dono()
>>> rtn=dono()
>>> print(rtn)
None

說明:我們定義這個函數之初,並沒有想好這個函數要干什么,那么函數體內可以什么都不寫,只寫一個pass關鍵字就行了。

pass關鍵字:pass其實很有用 當我們在任何時候不知道下一步要做什么都可以先用pass使我們的程序不報錯。

示例:

>>> age=18
>>> if age>=18:
...     pass
... else:
...     print('未滿18可別抽煙')
...
>>> if age>=18:
...
  File "<stdin>", line 2

    ^
IndentationError: expected an indented block

說明:上面的例子可以看出,在滿足age>=18后 如果我們不使用pass關鍵字,那么程序就會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM