Python學習筆記,定義和引用函式

2021-10-14 09:27:06 字數 1590 閱讀 7211

關鍵字def 加函式名加小括號

最常規的定義方式。

a,b =1,

2def

swap

(a,b)

:return b,a

a,b = swap(a,b)

print

(a,b)

#執行結果是:2 1

帶有可選引數的函式

def

fact

(n,mod =

1e9+7)

:#可選引數需要給定預設值

sum=

1for i in

range(1

,n+1):

sum=

sum*

(i%mod)

sum%= mod

return

sumn,mod =5,

13 a,b = fact(n)

,fact(n,mod)

#引用一下,呼叫是可有mod也可麼有。

print

("fact(n) = , fact(n,mod) = "

.format

(a,b)

)#輸出結果應為:fact(n) = 120.0 , fact(n,mod) = 3

注意,這裡可不填的引數必須在必填引數的後面。

帶有不限數量引數的函式

def

sum(

*a):

#可傳入多個引數到a

sum=

0for i in a:

#從a中將每個元素取出

sum+= i

return

sumans = sum(1,

2,3,

4,5)

#傳入元素

print

(ans)

#這裡結果應為:15

def

swap

(a,b)

: a,b = b,a

a,b =1,

2swap(a,b)

print

(a,b)

#執行結果為:1 2

可以看到,這個函式並沒有實現a和b的交換,因為它只交換了函式中的形參的值,並沒有改變函式外部的變數。

這裡通過給函式新增返回值來改變原變數的值。

def

swap

(a,b)

:return b,a

a,b =1,

2a,b = swap(a,b)

print

(a,b)

#執行結果為:2 1

通過使用全域性變數來改變a,b的值。

def

swap

(c,d)

:global a,b #這句可以省略,若函式中沒有名為a,b的變數直接使用就是全域性變數,這裡為了凸顯其作用

a,b = d,c

a,b =1,

2a,b = swap(a,b)

print

(a,b)

#執行結果為:2 1

Python基礎學習筆記 引用

舉例 a 1嚴格來說定義了乙個變數a,儲存的是資料1在記憶體中的乙個位址 通俗來說儲存的就是資料1的記憶體位址。a 1print 變數a id a hex id a b儲存的是a變數儲存的記憶體位址 b a print 變數b id b hex id b a 2 a重新賦值,記憶體位址改變 prin...

Python學習筆記 物件的引用和拷貝

物件的引用和拷貝 引用賦值操作總是儲存物件的引用,需要注意原處修改可變物件 列表,字典 時,可能影響程式中其他地方對相同物件的其他引用。l1 1,2,3 l2 a l1,3 d1 print l1 print l2 print d1 執行結果 1,2,3 a 1,2,3 3 現在修改l1 1 的值在...

python3學習筆記之 強引用和弱引用

python中,名字和物件的關聯是強引用的關係,會增加引用計數,進而影響目標物件的生命週期。所以 弱引用就是在保留引用的前提下,不增加計數,不阻止目標被 但不是所有的型別都支援弱引用 如 int str list tuple。等 這裡要提到析構函式 del 當物件被 時,會呼叫析構函式。這裡需注意,...