Python基礎之函式引數

2022-07-17 20:36:13 字數 3633 閱讀 9868

一、實參

1、實參分類:

2、實參基礎**:

def

fun01(a, b, c):

print

(a)

print

(b)

print

(c)#

位置傳參:實參與形參的位置依次對應

fun01(1, 2, 3)

#序列傳參:用*將序列拆分後與形參的位置依次對應

fun01(*[4, 5, 6])

#關鍵字傳參:實參根據形參的名稱進行對應

fun01(b=2, a=1, c=3)

#字典傳參:用**將字典拆分後與形參的名字進行對應.

fun01(**)

#預設引數

def fun02(a = 0, b = 0, c =0):

print

(a)

print

(b)

print

(c)#

不寫引數,使用預設值.

fun02()

fun02(1)

fun02(*[2,3])

#關鍵字傳參 與 預設傳參相結合,可以讓呼叫者只傳遞自己需要的資訊.

fun02(b = 20)

fun02(**)

3、示例練習:定義函式,根據天/小時/分鐘,計算總秒數

def get_total_second(day=0, hour=0, minute=0):

return day * 24 * 60 * 60 + hour * 60 * 60 + minute * 60s01 = get_total_second(1, 1, 1)

s02 = get_total_second(1, 1)

s02 = get_total_second(hour=2)

二、形參:

1、形參分類:

2、形參基礎**:

#

預設引數

def fun02(a = 0, b = 0, c =0):

print

(a)

print

(b)

print

(c)#

不寫引數,使用預設值.

fun02()

fun02(1)

fun02(*[2,3])

#關鍵字傳參 與 預設傳參相結合,可以讓呼叫者只傳遞自己需要的資訊.

fun02(b = 20)

fun02(**)

#位置形參

deffun01(a, b, c):

pass

#星號元組形參

def fun02(*args):

#對於方法內部而言,就是元組

#對於呼叫者而言,可以傳遞數量無限的位置實參.

print

(args)

#fun02()

#fun02(1)

#fun02(1,2,3,4)

#命名關鍵字形參:強制實參使用關鍵字傳遞.

#a,b 是命名關鍵字形參

def fun03(*, a, b):

print

(a)

print

(b)#

b 是命名關鍵字形參

def fun04(*args, b):

print

(args)

print

(b)#

fun03(a = 1,b = 2)

fun04(3, 44, 3, b =22)

#雙星號字典形參

def fun05(**kwargs):

#對於方法內部而言,就是字典,

#對於呼叫者而言,可以傳遞數量無限的關鍵字實參.

print

(kwargs)

fun05(a=1, b=2)#呼叫

def fun06(*args, **kwargs):

print

(args)

print

(kwargs)

#數量無限的位置實參,數量無限的關鍵字實參

fun06(1, 2, 3, 4, 5, a="

a", b=1.5)

def fun07(a, b, *args, c, d, **kwargs):

print

(a)

print

(b)

print

(args)

print

(c)

print

(d)

print

(kwargs)

fun07(1, 2, 3, 4, 5, d="

d", c="c"

)fun07(1, 2, 3, 4, 5, d="

d", c="

c", e="ee"

)fun07(1, 2, d="

d", c="c"

)print(1,2,3,4,5) #

1 2 3 4 5

print(1,2,3,4,5,"

#") #

1#2#3#4#5

3、示例練習:定義函式,整數相加的函式。

def add(*args):

sum =0

for item in

args:

sum +=item

return

sumre = add(1,2,3,4,45,43)

print(re)

4、自定義列表的排序函式

def

sort(list_target):

#傳入的是可變型別

#修改的是傳入的物件

for r in range(len(list_target) - 1):

for c in range(r+1,len(list_target)):

if list_target[r]

list_target[r],list_target[c] =list_target[c], list_target[r]

list01 = [2,4,4,5,6,7]

sort(list01)

print(list01)

5、英文單詞反轉,如:   how are you -->you are how

def

get_words_inversion(words):

list_words = words.split('')

list_words.reverse()

str_result = '

'.join(list_words)

return

str_result

words = '

how are you

'words =get_words_inversion(words)

print(words)

python 基礎之函式引數

1 可變引數 def fun1 args print args s 0for i in args s s i return s 執行結果 2 4 6 8 result 20 args為可變引數,可以接收若干個實參值,並將接受到的值組裝為乙個元祖 def fun2 name,kwargs print ...

Python基礎之函式的引數

在學習python過程中感謝廖雪峰的 def 函式名 引數1 引數2 引數3.函式體 returnpython函式的建立非常簡單,但是靈活度卻非常大。因此寫下此篇文章用於鞏固學習。首先我們定義乙個求乙個數的平方 def getresult x return x x此時引數x 即為位置引數,當我們呼叫...

Python基礎之函式的引數 二

函式引數總結 在python中函式引數的定義方式有一下4中方式。1 位置引數 2 關鍵字引數 3 預設引數 4 可變引數 args,kwargs 在我們在傳參的時候,實參傳遞的順序按照形參定義的順序進行傳遞的傳參方式。練習1 建立乙個求和函式,使用必須引數傳遞 defsum 2 num num1,n...