在Python中,函數(shù)參數(shù)傳遞時(shí)有可變數(shù)據(jù)類型和不可變數(shù)據(jù)類型之分,。 不可變數(shù)據(jù)類型: 不可變數(shù)據(jù)類型在傳遞給函數(shù)時(shí),,函數(shù)內(nèi)部的操作不會(huì)對(duì)其進(jìn)行修改,而是創(chuàng)建新的對(duì)象來保存結(jié)果,。常見的不可變數(shù)據(jù)類型包括整數(shù)(int),、浮點(diǎn)數(shù)(float)、布爾值(bool),、元組(tuple)和字符串(string)等,。 例如: def add_num(num): num += 1 print(num)a = 1add_num(a) # 輸出 2print(a) # 輸出 1,a未被修改 可變數(shù)據(jù)類型在傳遞給函數(shù)時(shí),函數(shù)內(nèi)部的操作可能會(huì)對(duì)其進(jìn)行修改,。常見的可變數(shù)據(jù)類型包括列表(list),、字典(dict)和集合(set)等。
當(dāng)傳遞一個(gè)字典或集合時(shí),,也會(huì)受到可變/不可變數(shù)據(jù)類型的影響,下面是字典和集合的例子 # 可變數(shù)據(jù)類型 dictdef modify_dict2(d): d['new_key'] = 'new_value' print(d)d2 = {'a': 1, 'b': 2}modify_dict2(d2) # 輸出 {'a': 1, 'b': 2, 'new_key': 'new_value'}print(d2) # 輸出 {'a': 1, 'b': 2, 'new_key': 'new_value'},,字典d2被修改# 可變數(shù)據(jù)類型 setdef modify_set2(s): s.add('new_item') print(s)s2 = set(['a', 'b', 'c'])modify_set2(s2) # 輸出 {'a', 'b', 'c', 'new_item'}print(s2) # 輸出 {'a', 'b', 'c', 'new_item'},,集合s2被修改 |
|