中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Python傳參與傳值有什么不同

小億
146
2023-11-15 09:08:16
欄目: 編程語言

在Python中,函數的參數傳遞方式可以分為傳值和傳引用兩種方式。

  1. 傳值(傳遞對象的副本):當向函數傳遞一個不可變對象(如整數、字符串、元組)時,會創建該對象的副本,并將副本傳遞給函數。在函數內部對參數進行修改不會影響到原始對象。

示例代碼:

def change_value(x):
    x = 10
    
num = 5
change_value(num)
print(num)  # 輸出 5

在上述代碼中,將變量num傳遞給change_value函數。在函數內部將參數x的值修改為10,但是并不會對原始對象num產生影響。

  1. 傳引用(傳遞對象的引用):當向函數傳遞可變對象(如列表、字典、集合)時,傳遞的是對象的引用(指針)。在函數內部對參數進行修改,會影響到原始對象。

示例代碼:

def change_list(lst):
    lst.append(4)
    
my_list = [1, 2, 3]
change_list(my_list)
print(my_list)  # 輸出 [1, 2, 3, 4]

在上述代碼中,將列表my_list傳遞給change_list函數。在函數內部通過append方法向參數lst所引用的列表添加元素4,導致原始列表也被修改。

總結:

  • 對于不可變對象,傳值方式會創建副本,函數內部的修改不會影響到原始對象。
  • 對于可變對象,傳引用方式直接傳遞引用,函數內部的修改會影響到原始對象。

0
萝北县| 商洛市| 屏东市| 休宁县| 宜春市| 高台县| 望城县| 共和县| 舞阳县| 双桥区| 交城县| 连州市| 兰州市| 桐城市| 潢川县| 南雄市| 富顺县| 错那县| 炎陵县| 双牌县| 泸溪县| 揭西县| 临桂县| 蚌埠市| 大同县| 班玛县| 桐柏县| 长治县| 泸州市| 朔州市| 萨迦县| 方正县| 沅江市| 巴林左旗| 视频| 仁寿县| 镇宁| 盱眙县| 凤庆县| 南宁市| 迭部县|