def
funcname
(params):
...return value
'''如果沒有return 最後會返回none,如果只寫return 會返回none'''
'''返回值個數為乙個,但是可以返回tuple,表面上返回多個值
def f1():
return x,y
x,y=f1()
'''
def
nop():
pass
def
functest
():global x
x = 5
x = 1
print x
functest()
print x
"""輸出:15
"""
函式的引數分為四類:
在呼叫函式的時候,必須傳遞給函式引數
def
fun1
(para1):
print para1
#呼叫函式的時候,必須傳遞乙個引數
fun1("abc")
另外,函式呼叫的時候,可以指定引數的名稱和值
def
fun2
(p1,p2):
print p1,p2
#普通的函式呼叫方式,按照定義的順義傳入函式的實參
fun2("a","b")
#定製引數的值,這樣呼叫的時候,引數傳入的順序是隨意的
fun2(p2="b",p1="a")
使用者不想要為這些引數提供值的話,這些引數就使用預設值。
預設引數的值應該是不可變的—重要。
如果函式含有必選引數和預設引數,那麼函式定義的時候,應該將預設引數放在必選引數的後面。
def
power
(x, n=2):
print x,n
# 下面幾種呼叫的方式都是可以的:
power(x)
power(x,3)
power(x,n=3)
引數的個數是可變的,0或者任意個;#傳入到函式是乙個tuple
#定義:
def f2(*args):
pass
#下面是四種呼叫方式
f2()
f2(1)
f2(1,2)
nums = [1,2,3]; f2(*nums) //使用這種方式可以傳入乙個list或者tuple
#允許傳入 0 個或任意個含引數名的引數;#在函式內部自動組裝為乙個 dict
#定義:
deff3
(**kw):
pass
#下面是三種呼叫方式:
f3()
f3(city="ok")
kw = ; f3(**kw)
順序:必選引數、預設引數、可變引數和關鍵字引數
def
func
(a, b, c=0, *args, **kw):
print
'a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw
#呼叫func(1, 2) #輸出=>a = 1 b = 2 c = 0 args = () kw = {}
func(1, 2, c=3) #輸出=>a = 1 b = 2 c = 3 args = () kw = {}
func(1, 2, 3, 'a', 'b') #輸出=>a = 1 b = 2 c = 3 args = ('a', 'b') kw = {}
func(1, 2, 3, 'a', 'b', x=99) #輸出=>a = 1 b = 2 c = 3 args = ('a', 'b') kw =
args = (1, 2, 3, 4)
kw =
func(*args, **kw)
#輸出=>a = 1 b = 2 c = 3 args = (4,) kw =
最通用的函式定義:func(*args, **kw), 無論引數怎麼樣傳遞都可以呼叫
文件字串 docstrings,適用於函式,模組,類
在函式的第乙個邏輯行的字串是這個函式的文件字串。
文件字串的慣例是乙個多行字串,它的首行以大寫字母開始,句號結尾。第二行是空行,從第三行開始是詳細的描述。
def
fun2
(p1,p2):
''' fun2 doc strings
'''print p1,p2
print fun2.__doc__
Python基礎 函式
函式設計原則 函式有多種方法獲得輸入產生輸出,一般使用引數作為輸入,return語句配合可變引數的改變作為輸出。函式輸入 函式輸出 def fun args returndef語句 def建立了乙個函式物件並將其賦值給乙個變數。def語句是實時執行的,在模組匯入時執行或者在互動模式下輸入時執行。始終...
Python 函式基礎
定義 函式是指將一組語句的集合通過乙個名字 函式名 封裝起來,要想執行這個函式,只需呼叫其函式名即可 為什麼使用函式 減少重複 使程式變的可擴充套件使程式變得易維護 1 定義乙個函式 2def func 使用def關鍵字定義函式 接函式名,括號內可以傳遞引數 3print hello world 函...
python基礎 函式
在程式設計過程中可以定義自己想要實現的功能的函式,語法如下 def 函式名 引數列表 函式名可以隨意編寫,但最好不要與內建函式重複,不然內建函式將被替換成你所定義的函式 函式體例 def f a,b,c,d return a,b,c,d c f 1,2,3,4 print c c,d,x,y f 1...