1. 程式人生 > 資訊 >市場調研機構:Q1 京東方柔性 OLED 市佔或提高至 21.8%,威脅三星

市場調研機構:Q1 京東方柔性 OLED 市佔或提高至 21.8%,威脅三星

含義:當我們不確定要傳入引數的具體個數的時候,可以選擇在定義函式的時候,新增不定長引數。

print 函式程式碼示例:

a = 10
b = True
c = 1.1
d = "你好"
print(a)
print(a,b)
print(a,b,c)
print(a,b,c,d)

'''
輸出結果:
10
10 True
10 True 1.1
10 True 1.1 你好
'''

應用場景:

# 計算兩個數的和
def sum_test(a,b):
    result = a + b
    return result

sum = sum_test(45,25)
print(sum)
# 輸出結果:70

# 根據情況計算傳入的數值的和(可運用可變長引數args)
def sum_test(a,b,*args): # *args是比較規範的可變長引數
    print(" a = ",a)
    print(" b = ",b)
    print(" args = ",args)

sum_test(45,12,85,26,70)
"""
輸出結果:
 a =  45
 b =  12
 args =  (85, 26, 70) # 可變長引數將多餘的元素都輸出為元組
"""

定義格式1:

def 函式名稱(引數1,引數2,* 可變長引數):

重點:

1、除去必要的引數之外,多餘的引數都被可變長引數接收,並且封裝成元組;

2、可變長引數可以不傳,輸出的是空元組;

3、可變長引數只能放在引數列表後面;

4、使用場景:當我們不確定傳入的引數型別為單個的時候

程式碼示例:

# 根據情況計算傳入的數值的和(可運用可變長引數args)
def sum_test(a,b,*args): # *args是比較規範的可變長引數

    # 計算a,b的值
    result = a + b
    # 取出可變長引數args的值(通過迴圈從元組取值)
    for i in args:
        result += i

    return result

print(sum_test(45,12,85,26,70))

# 輸出結果:238

定義格式2:

def 函式名稱(引數1,引數2,** kwargs)

重點:

1、kwargs 接收的引數型別為:引數名稱 = 引數值(以字典的形式進行封裝)

2、該引數可不傳遞,輸出是空字典;

3、該型別可變長引數只能放在引數列表的最後面;

程式碼示例:

# kwargs可變長引數
def sum_test(a,b,**kwargs):
    print(a,b,kwargs)

sum_test(25,58,name="美女",sex="女") 
# 輸出結果:25 58 {'name': '美女', 'sex': '女'}

# args和kwargs混用
def sum_test(a,b,*args,**kwargs):
    print(a,b,args,kwargs)

sum_test(25,58,452,5401,5413,name="美女")
# 輸出結果:25 58 (452, 5401, 5413) {'name': '美女'}

拆包

程式碼示例:

# 定義一個含有可變長引數的函式
def test(a,b,*args,**kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)

A = (1,3,5,6)
B = {"姓名":"美麗"}
# 自動拆包,將元組拆分成一個個元素,將字典拆成鍵值對傳遞進去
test(11,12,13,14,15,*A,**B) 
# test(11,12,13,14,15,1,3,5,6,姓名="美麗")
"""
輸出結果:
11
12
(13, 14, 15, 1, 3, 5, 6)
{'姓名': '美麗'}
"""

應用場景:假設我們需要處理使用者資訊,我們設定的函式需要鍵值對匯入資訊,而使用者的資訊有可能是別的使用者給我們的,這些資料有可能是一個字典,而我們的函式需要拆分這個字典,取得鍵值對,放入函式當中,我們可以把這個字典用kwargs可變長引數的方法(即在字典前加兩個 * 號)來進行拆包,再匯入我們的函式中。