定義乙個函式
(2)任何傳入實參和形參必須放在圓括號中。圓括號中寫的是形參。
(3)函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。
(4)函式內容以冒號起始,並且函式體要有縮排。
(5)return[expression]結束函式,選擇性地返回乙個值給呼叫者。不帶表示式 的return相當於返回none
語法:def functionname( parameters ):
"函式_文件字串"
function_suite
return[expression]
函式例項:
def add(a,b):
return a+b
print(add(2,3))
函式返回值函式沒有返回值時 預設返回none,函式有多個返回值時 預設以乙個元組的形式返回
#函式無返回值,返回none
>>> def hello():
... print('hello')
...>>> n=hello()
hello
>>> print(n)
none
#函式返回多個物件,預設以元組的形式返回
>>> def foo():
... return 'tanner',1000,-98.6
... #定義變數接收函式的返回值
>>> x,y,z=foo()
>>> x
'tanner'
>>> y
1000
>>> z
-98.6
>>> m=foo()
>>> m
('tanner', 1000, -98.6)
#函式有多個返回物件時,可定義多個返回物件聚集後的型別
>>> def bar():
... return ['alice',100,-9]
...>>> m=bar()
>>> m
['alice', 100, -9]
無參函式
def hello():
print("hello")
print(hello())
有參函式----呼叫函式時使用的引數型別如下:1.必需引數2.預設引數3.不定長引數4.關鍵字引數
#1.必需引數---呼叫函式時必需傳入的引數,數量必需與宣告的一致,不一致會報錯
>>> def add(a,b):
... return a+b
...>>> add(1,2)
3#引數傳入的順序可以指定為以下方式
>>> add(b=3,a=2)
5>>> add(1)
traceback (most recent call last):
file "", line 1, in typeerror: add() missing 1 required positional argument: 'b'
#2.預設引數---呼叫函式時,可以不傳入該引數的物件,不傳的時候使用函式定義的預設值。必須引數
#注:預設引數一定要使用不可變物件,如果是可變物件,執行會有邏輯錯誤!
不可變物件:不可改變的資料型別,如:數字,字串,元組
可變物件:如 字典,列表
》python傳參相當於傳值和傳引用的一種綜合
》如果函式接收到是乙個可變物件(比如字典或列表)的引數,這個時候就是通過傳'引用'來傳遞引數(其實這種歸根結底傳的也是值,只不過是指向記憶體空間位址的值)
》如果函式接收到的是乙個不可變物件(比如字串,元組,數字)的引數,這個時候就是通過'傳值'來傳遞物件,此時如果想改變原變數的值,可以將這些變數申明為全域性變數
# 必須引數必須要在預設引數之前,(a, b=5)
>>> def add(a,b=5):
... return a+b
...>>> add(1) #a=1,b=5
6>>> add(1,2) #a=1,b=2
3#預設引數常見問題---傳入可變物件
>>> def add_end(l=):
... return l
...>>> add_end()#呼叫結果正常
['end']
>>> add_end()#再次呼叫結果不正常
['end', 'end']
#解決辦法:
>>> def add_end(l=none):
... if l is none:
... l =
... return l
...>>> add_end()
['end']
>>> add_end()
['end']
#3.不定長引數
func(*args)-----使用元組作為函式的引數,*args表示是乙個元組
def add(a,b=2,*args):
print('型別:',type(args))
print('引數個數:',len(args))
sum=0
for i in args:
sum+=i
print('引數的和:',sum+a+b)
#4.關鍵字引數
func(**kw)-----使用字典作為函式的引數,**args表示是乙個字典
Python基礎 函式
函式設計原則 函式有多種方法獲得輸入產生輸出,一般使用引數作為輸入,return語句配合可變引數的改變作為輸出。函式輸入 函式輸出 def fun args returndef語句 def建立了乙個函式物件並將其賦值給乙個變數。def語句是實時執行的,在模組匯入時執行或者在互動模式下輸入時執行。始終...
python基礎 函式
def funcname params return value 如果沒有return 最後會返回none,如果只寫return 會返回none 返回值個數為乙個,但是可以返回tuple,表面上返回多個值 def f1 return x,y x,y f1 def nop passdef functe...
Python 函式基礎
定義 函式是指將一組語句的集合通過乙個名字 函式名 封裝起來,要想執行這個函式,只需呼叫其函式名即可 為什麼使用函式 減少重複 使程式變的可擴充套件使程式變得易維護 1 定義乙個函式 2def func 使用def關鍵字定義函式 接函式名,括號內可以傳遞引數 3print hello world 函...