函數(shù)
- 在Python中孕锄,可以使用def關鍵字來定義函數(shù)迹冤,函數(shù)的命名規(guī)則同變量的命名規(guī)則一致入挣。
- 函數(shù)名后面的圓括號中可以放置傳遞給函數(shù)的參數(shù)(相當于數(shù)學上說的函數(shù)的自變量)嚣州。
- 函數(shù)執(zhí)行完成后鲫售,我們可以通過return關鍵字來返回一個值(相當于數(shù)學上說的函數(shù)的因變量),不帶表達式的return相當于返回 None该肴。
- 函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明情竹。
- 函數(shù)內(nèi)容以冒號起始,并且縮進匀哄。
def functionname( parameters ):
"函數(shù)_文檔字符串"
function_suite
return [expression]
函數(shù)的參數(shù)
設定默認值:如果在調(diào)用函數(shù)的時候如果沒有傳入對應參數(shù)的值時將使用該參數(shù)的默認值
def(參數(shù)1=參數(shù)1默認值,參數(shù)2=參數(shù)2默認值,...參數(shù)n=參數(shù)n默認值):
function_suite
return [expression]
例:定義三個數(shù)相加
def add(a=0,b=0,c=0):
return a+b+c
# 在調(diào)用add函數(shù)時鲤妥,未傳入的參數(shù)默認值為0
add()
add(1,2)
add(1,2,3)
可變參數(shù): 在不確定參數(shù)個數(shù)的時候,在參數(shù)名前加*表示是一個可變參數(shù)拱雏。
例:定義加法函數(shù)
def add(*args):
total = 0
for val in args:
total += val
return total
# 在調(diào)用add函數(shù)時可以傳入0個或多個參數(shù)
print(add())
print(add(1))
print(add(1, 2))
print(add(1, 2, 3))
用模塊管理函數(shù)
在同一個.py文件中定義兩個同名函數(shù),由于Python沒有函數(shù)重載的概念底扳,那么后面的定義會覆蓋之前的定義铸抑,也就意味著兩個同名函數(shù)實際上只有一個是存在的。
解決這種命名沖突的辦法很簡單衷模,Python中每個文件就代表了一個模塊(module)鹊汛,我們在不同的模塊中可以有同名的函數(shù),在使用函數(shù)時阱冶,我們通過import關鍵字導入指定的模塊就可以區(qū)分到底要使用的是哪個模塊的函數(shù)刁憋。
導入模塊函數(shù)的方法
方法一:
from 模塊名 import 函數(shù)名
函數(shù)名()
方法二:
import 模塊名 as 別名
別名.函數(shù)名()
注意:如果將代碼寫成如下,那么程序中調(diào)用的是module2的foo木蹬,因為后導入的foo覆蓋了之前導入的foo至耻。
from module1 import foo
from module2 import foo
foo()