本篇是對 python3函式的學習與小結,用於複習鞏固使用,如有理解偏差的地方,還望各位大佬指正。
函式的作用:
函式的分類:
小結:
def 函式名(引數列表):
函式體(**塊)
[return 返回值]
小結:
函式名() # str()
- 函式定義,只是宣告了乙個函式,它不會被執行,需要呼叫
- 呼叫的方式,就是函式名後加上小括號,如有必要在括號內寫上引數
- 呼叫時寫的引數是實際引數,是實實在在傳入的值,簡稱實參
例項:
def
add(x, y)
: res = x + y
return res
out = add(1,
3)## 4
out = add(3,
3)## 6
小結 :
引數規則
常見情況:
def add(x,y):
def add(x, y=3)
def add(x=2, y=3)
def add(*args, **kwargs) #可變引數
def add(x, y, *args, **kwargs)
def add(x, y, *args, m, n ,**kwargs)
關鍵字傳參
def add(x, y, z)
add(1, 3, 5) -> x=1, y =3, z =5 # 位置傳參
add(5, 3, 1) -> x=5, y =3, z =1
add(1, 3, z=5) -> x=1, y =3, z =5 # 位置 + 關鍵字
add(x=1, y=3, z=5) -> x=1, y =3, z =5 # 關鍵字傳參
add(z=5, x=1, y=3) -> x=1, y =3, z =5 # 交換順序
小結:
print
(next
(g))
# stopiteration
引數預設值語法:
def
add(x=
1, y=
3, z=5)
:return x+y
add(3,
6)#x=3, y=6, z=5
14
小結:
位置可變引數:*args
- 使用 形參名 定義可變引數,但是通常我們只使用args 這一形參名,為了函式定義的可讀性。
- 用於收集位置傳參的多餘值,將之收集成乙個不可變型別元組tuple。
def
add(
*args)
:# 位置可變引數
sum=
0print
(type
(args)
)for x in args:
sum+= x
return
sum
def
show
(**kwargs)
:for k,v in kwargs.items():
print
('{}={}'
.format
(k,v)
, end=
', '
)
show(x=
1, y=
3, z=
5)
x=1, y=3, z=5,
小結:
def
fn(x, y,
*args, m, n,
**kwargs)
:return x, y, args, m, n, kwargs
fn(1,2
,3,4
,5, m=
6, n=
7, pp=
9, kk=
10)
(1, 2, (3, 4, 5), 6, 7, )
小結:
def
add(x, y)
:return x+y
add(*(
4,5)
) add(*[
4,5]
) add(*)
add(
**)
11
1111
11
小結: python函式引數學習 python函式學習1
函式1 1 定義 def 函式名 引數列表 函式體 2 引數傳遞 在python中,一切都是物件,型別也屬於物件,變數是沒有型別的。a 1,2,3 a helloworld 以上 中,1,2,3 是list型別,helloworld 是string型別,而變數a是沒有型別的,它僅僅是乙個物件的引用 ...
Python函式學習 引數型別
在定義python函式時可定義形參,這些引數在呼叫時候才能確定具體的值,由函式的呼叫者負責為行參傳入引數值 也叫必傳引數,順序引數,是最重要的,也是必須在呼叫函式時明確提供的引數!位置引數必須按先後順序,一一對應,個數不多不少的傳遞!說明 a,b,c是函式add的行參,沒有具體的值,只有在add x...
python函式引數學習筆記
1 引數的傳遞是通過自動將物件賦值給本地變數名來實現的。函式引數 呼叫者傳送的 可能的 共享物件的引用值 所有的引數實際上都是通過指標進行傳遞的。作為引數被傳遞的物件從裡不自動拷貝。2 在函式內部的引數名的賦值不會影響呼叫者。在函式執行時,在函式頭部的引數名是乙個新的 本地變了,這個變數名時再函式的...