对象变动
Posted z-x-y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象变动相关的知识,希望对你有一定的参考价值。
python中可变意味着可以被改动,不可变意味着不能被改动,也就是常量
foo=[‘hi‘] print(foo)#[‘hi‘] bar=foo bar+=[‘bye‘] print(foo)#[‘hi‘,‘bye‘]
这是因为对象的可变性,每当你将一个变量赋值为另一个可变类型的变量时,对这个数据的任意改动会同时反映到这两个变量上去。新变量只不过是
老变量的一个别名而已,这个情况只是针对可变数据类型,看例子
def add_to(num,target=[]): target.append(num) return target print(add_to(1)) print(add_to(2)) print(add_to(3))
这是因为列表的可变性,在python中当函数被定义时,默认参数只会运算一次,而不是每次被调用时都会重新计算,所以不要定义可变类型的默认参数
# 改进版 def add_to(element,target=None): if target is None: target=[] target.append(element) return target #现在每当你在调用这个函数不传入target参数时,一个新的列表会被创建 print(add_to(4)) print(add_to(4)) print(add_to(4))
以上是关于对象变动的主要内容,如果未能解决你的问题,请参考以下文章
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”
jquery 对象的 heightinnerHeightouterHeight 的区别以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffset(代码片段