函数通过参数获取我们传递的值,函数中改变了参数的值,那么我们传递进去的值会改变吗?
In [1]:def test(varibal):
varibal = 100
return varibal
In [2]:var = 1
test(var)
Out[2]:100
In [3]:print(var)
Out[3]: 1
In [4]:def test(varibal):
varibal.append(100)
return varibal
In [5]:var = [ ]
test(var)
Out[5]:[100]
In [6]:var
Out[6]:[100]
不建议对可变类型在函数内进行更改,建议用函数返回值进行重新赋值
In [7]:def test(varibal):
temp = varibal.copy() temp.append(100) return temp
In [8]:var = []
var = test(var)
In [9]:var
Out[9]:[ ]
In [10]:def test(name, age, *args, **kwargs):
print(name, age, *args, **kwargs)
In [11]:test('jin', 12)
Out[11]: jin 12
In [12]:test('jin',23,43,'1fg',[23,45])
Out[12]:jin 23 43 1fg [23, 45]
In [13]:dict_varibals = {
'weight':100, 'height':165 } test('jin', 23, dict_varibals)
Out[13]:jin 23 {'height': 165, 'weight': 100}