在python中,想要調用自定義函數必須先聲明,然后才能調用。使用函數時,只要按照函數定義的形式,向函數傳遞必需的參數,就可以調用函數完成相應的功能或者獲得函數返回的處理結果。
(1)聲明函數
python中使用 def 可以聲明一個函數,完整的函數是由函數名、參數以及函數實現語句(函數體)組成的。
在函數聲明中,也要使用縮進以表示語句屬于函數體。
如果函數有返回值,需要在函數中使用return語句返回計算結果,聲明函數的一般形式如下:
def <函數名>(參數列表):
<函數語句>
return <返回值>
參數值和返回值不是必須的,return后也可以不跟返回值,也可以沒有return。對于return后沒有返回值和沒有return語句的函數都會返回None值。
示例:實現求一個元組中所有數之和的功能,其參數T為所要求和的元組,result就是元組求和的累加器,最后函數使用return將累加結果result返回。函數聲明代碼如下:
1
2
3
4
5
6
7
8
9
|
def tpl_sum(T): result = 0 for i in T: result + = i return result |
在Python中聲明一個函數,不需要聲明函數的返回值類型,也不需要聲明參數的類型。
(2)調用函數
調用自定義函數與內建函數的區別就是需要先對函數進行定義。
示例:tpl_sum()函數定義和調用
擴展:
Python 如何調用自定義函數
網上的很多資料都是說“如果把my_abs()的函數定義保存為abstest.py文件了,那么,可以在該文件的當前目錄下啟動Python解釋器,用from abstest import my_abs來導入my_abs()函數,注意abstest是文件名(不含.py擴展名)”。但是在嘗試這種方法后,發現仍然還是無法調用自定義的函數。
python的引外機制:
import abc
1、首先在當前目錄下找有沒有abc、abc.py
2、找python的安裝目錄:F:\Python2.7Exe\Lib\site-packages;F:\Python2.7Exe\Lib;
3、找電腦中path下面的目錄
于是我改變路徑,將保存的abc.py文件直接放在python的安裝目錄下,使用import abc命令,然后在Python交互界面用 abc.XXX(XXX是abc.py文件中的定義函數的函數名),解決了調用自定義函數問題。