```
# 对象赋值
a = 'hello world'
b = a
print('a:',a,', b:',b)
# a: hello world , b: hello world
print(id(a)==id(b))
# True
a = 'Hello World'
print('a:',a,... ...
分类:
编程语言 时间:
2018-01-05 15:11:26
阅读次数:
153
所谓的自我赋值,指得就是一个对象赋值给自己的简单行为,但这种看起来人畜无害动作,在某些情形下却可能会使得你的代码崩溃。自我赋值的语句,就像这样:Widget w;w = w;很明显,这是一段愚蠢的代码。但既然我们提到自我赋值会引发问题,那我们先来澄清一下自我赋值的情况其实有时并不是那么显而易见的,并不一定都像上述代码那么愚蠢,它们还可能是这样:a[i] = a[j];*px = *py
分类:
其他好文 时间:
2018-01-01 23:38:10
阅读次数:
251
Python里的拷贝 引用和copy(),deepcopy()的区别 import copy a = [1, 2, 3, 4, ['a', 'b']] #原始对象 b = a #赋值,传对象的引用 c = copy.copy(a) #对象拷贝,浅拷贝 d = copy.deepcopy(a) #对象 ...
分类:
编程语言 时间:
2017-12-27 11:56:29
阅读次数:
140
Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果。 下面本文就通过简单的例子介绍一下这些概念之间的差别。 对象赋值 直接看一段代码: will = ["Will", 28, ["Python", "C#", "JavaScript"]] wil ...
分类:
编程语言 时间:
2017-12-11 01:07:00
阅读次数:
203
f = open('info2.txt','w',encoding='utf-8') #生成文件对象,赋值给f,然后去操作f,文件句柄, #由于windows的机制,默认GBK的格式得转换成utf-8 # 'r'是读一个文件。跟read / r+是可读写(打开读追加) w+是写读(创建文件再去写不常... ...
分类:
其他好文 时间:
2017-12-09 18:09:43
阅读次数:
174
建议54:为无用字段标注不可序列化 序列化是指这样一种技术:把对象转变成流。相反过程,我们称为反序列化。在很多场合都需要用到这项技术。 把对象保存到本地,在下次运行程序的时候,恢复这个对象。 把对象传到网络中的另外一台终端上,然后在此终端还原这个对象。 其他场合,如:把对象赋值到系统的粘贴板中,然后 ...
1. 引用作为参数的方式传递. GetObject(Object& obj) { obj.value = value1; } 特点: 在外部构造一个对象. 把该对象以引用的方式传递到函数中. 从而实现对该对象的改变, 该参数实质是一个[out]类型的参数, 而非[in]类型的参数. 这里的引用可以称 ...
分类:
编程语言 时间:
2017-12-06 11:27:46
阅读次数:
176
策略模式(Strategy Pattern): 我的理解,将代码中每个变化之处抽出,提炼成一个一个的接口或者抽象类,让这些变化实现接口或继承抽象类成为具体的变化类。再利用多态的功能,可将变化之处用接口或抽象类的对象代替,再用其子类为对象赋值,这样就可以将对象随时更换成具体的变化类。 枯燥的文字描述总 ...
分类:
其他好文 时间:
2017-12-04 00:05:29
阅读次数:
219
一、javascript简介 javascript:(基于对象的编程语言:内部很多对象,我们只需要使用即可,几乎不需要自己创建对象) ECMAScript DOM BOM 存放位置: 建议代码放到html中body的最后位置 引入方式: 1、 <script> 这里直接写代码 </script> 2 ...
分类:
编程语言 时间:
2017-11-28 22:26:30
阅读次数:
254
1.继承中类型的转换 源代码: 这个程序不能正常运行,因为在主函数里d=m;这句话不符合Java的规则, 在继承中,基类不能对子类的对象赋值,而子类可以对基类的对象赋值, 而且,非继承关系的两个类再赋值是也应该先进行强制转化,比如:d=c;, 强制转化也不是每次都可以成功的。可以使用instance ...
分类:
其他好文 时间:
2017-11-10 18:35:57
阅读次数:
154