了解python中的函数使用,首先需要认识函数中几种参数的用法。
(1) 看以下代码段:
def change(val):
#change the value in the function
val = 'a'
交互环境中运行:
>>> value = 'b'
>>> change(value)
>>> value
'b'
由此可以看出,就算在函数中给参数赋值,但这样不会改变外部变量的值。这类似C语言中的函数内部变量作用域只在函数内部,对函数外无关。即传参为不可变参数(string, etc)时无法被改变。
(2) 类比C语言中的指针,当函数参数传地址时可以改变变量的值,对于python来说,函数参数为可变数据结构(list, dict)时,其值可被改变;如下示例代码段:
def change(val):
val[0] = 'ss'
交互环境中运行:
>>>value = ['aa', 'bb']
>>>change(value)
>>>value
['ss', 'bb']