python 函式傳參

2021-10-12 20:20:34 字數 1989 閱讀 8271

函式的好處:

1.保持一致性

2.可重用

3.可擴充套件

函式的返回值:

1.空,返回none

2.有乙個物件,返回當前物件

3.有多個物件,返回元組(tuple)

import time

#定義函式,列印日誌時間

deflogger()

: time_format =

'%y-%m-%d %x'

time_current = time.strftime(time_format)

with

open

('a'

,'a+'

)as f:

f.write(

'%s日誌時間\n'

%time_current)

#返回值為0

deffunc1()

:print

('abc'

) logger(

)return

0#定義過程,無返回值

deffunc2()

:print

('defg'

) logger(

)#返回值為tuple

deffunc3()

:print

('多個物件時返回tuple'

)return1,

'str12',[

'qu'

,'wu'],

x1 = func1(

)x2 = func2(

)print

('x1 is %s'

%x1)

print

('x2 is %s'

%x2)

函式之引數:

1.位置引數

2.關鍵字引數

3.*args,接收多個引數,換成元組形式輸出

4.**kwargs,接收關鍵字引數,換成字典形式輸出

#函式之形參

deftest

(x,y)

:print

(x,y)

#使用關鍵字呼叫,與順序無關

test(y=

3,x=1)

#輸出1,3

#位置引數呼叫,與形參一一對應

test(3,

1)#輸出3,1

#預設引數,非必須傳遞

deftest3

(x,y=6)

:#y=6為預設引數,預設為6,若賦新值,輸出新值

print

(x,y)

test(

1,y=3)

#引數組,args為變數,可以任意定義,接收的引數可以不固定

deftest4

(*args)

:print

(args)

test4(

'a',

'b',

'c',

'd',

'e')

test4(*[

1,2,

3,4,

5])#引數組2,*是接收多個引數,方成元組的形式

deftest5

(x,*args)

:print

(x)print

(args)

test5(1,

23,45)

#接收字典,**是接收關鍵字引數,換成字典形式

deftest6

(**kwargs)

:print

(kwargs)

print

(kwargs[

'name'])

print

(kwargs[

'age'])

test6(name=

'wuyifan'

,age=12)

test6(

**)

python 函式傳參 傳參和傳引用

首先還是應該科普下函式引數傳遞機制,傳值和傳引用是什麼意思?函式引數傳遞機制問題在本質上是呼叫函式 過程 和被呼叫函式 過程 在呼叫發生時進行通訊的方法問題。基本的引數傳遞機制有兩種 值傳遞和引用傳遞。值傳遞 passl by value 過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在...

Python函式傳參

首先還是應該科普下函式引數傳遞機制,傳值和傳引用是什麼意思?函式引數傳遞機制問題在本質上是呼叫函式 過程 和被呼叫函式 過程 在呼叫發生時進行通訊的方法問題。基本的引數傳遞機制有兩種 值傳遞和引用傳遞。值傳遞 passl by value 過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在...

python 入參函式 Python 函式傳參

這個世界其實從不曾有乙個人能取代另乙個人的位置,所謂的取代,只是以前的那個人被遺忘了。普通傳參的小坑def test a return a print test print test print test 返回的結果 a a a a a a 原因 傳入的引數是乙個空的列表,python遇到函式的時候...