關鍵字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 當物件被 時,會呼叫析構函式。這裡需注意,...