首页 > 试题广场 >

Python函数如下,则输出结果为: def chanage

[单选题]
Python函数如下,则输出结果为:
def chanageList(nums):     
    nums.append('c')     
    print("nums", nums)   
str1 = ['a', 'b'] 
# 调用函数 
chanageList(str1) 
print("str1", str1)


  • nums ['a', 'b', 'c'],str1 ['a', 'b', 'c']

  • nums ['a', 'b', 'c'],str1 ['a', 'b']

  • nums ['a', 'b'],str1 ['a', 'b']

  • nums ['a', 'b'],str1 ['a', 'b','c']

Python参数传递采用的是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典 或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能 直接修改原始对象——相当于通过“传值”来传递对象。
发表于 2022-04-13 12:47:40 回复(2)
函数传参是赋值操作,赋值的话,列表是引用关系,底层是同一个列表

发表于 2021-12-30 10:30:41 回复(0)
发表于 2022-01-16 09:12:44 回复(0)
str1作为参数传给nums,相当于nums=str1,即赋值引用,对于赋值引用,如果是可变对象修改的话,是相互影响的。
 
发表于 2022-05-07 18:36:43 回复(0)
def chanageList(nums):   # 创建一个带参,且初始参数为nums的函数chanageList
    nums.append('c')     # 为传入参数末尾添加字符串c
    print("nums", nums)  # 输出参数名称nums,同时输出参数nums的最终值
str1 = ['a', 'b']        # 创建列表str1,并将字符串a和字符串b添加进列表str1
chanageList(str1)        # 调用函数chanageList
print("str1", str1)      # 输出列表str1的名称,同时输列表str1的最终值
对错都要给出原因,继续加油每天题不多5道,坚持!
发表于 2022-05-06 16:35:31 回复(0)
list为可变数据类型
发表于 2022-04-27 10:38:15 回复(0)
发表于 2022-07-19 20:24:55 回复(2)
函数传参数是赋值操作,底层是同一个列表
发表于 2022-05-16 07:33:20 回复(0)
py中函数传参传的是对象的引用,这两者地址一样指向的是同一个对象
编辑于 2023-02-18 21:38:22 回复(0)