Python 函式基礎

2021-08-28 20:25:15 字數 3299 閱讀 2648

定義乙個函式

(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 函...