0x00 简介 元组(tuple),相当于不可变的列表。元组通过圆括号中用逗号分割的项目定义。 特点:1、有序的集合;2、通过偏移来取数据;3、属于不可变对象,不能在于原地修改内容,没有排序。 P.S. 元组不可变的好处:保证数据的安全,比如将数据传给一个不熟悉的方法或者接口时,可以保证方法或者接口 ...
分类:
编程语言 时间:
2016-07-23 14:59:50
阅读次数:
126
类似其它的语言, Python 中的函数使用小括号( () )调用。函数在调用之前必须先定义。如果函数中没有 return 语句, 就会自动返回 None 对象。 Python 是通过引用调用的。 这意味着函数内对参数的改变会影响到原始对象。不过事实上只有可变对象会受此影响, 对不可变对象来说, 它 ...
分类:
编程语言 时间:
2016-07-14 13:18:08
阅读次数:
137
一、分析 String类字符串追加 当我们对字符串进行拼接时,String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是sealed 类,即不能被继承. string是String ...
分类:
其他好文 时间:
2016-07-08 23:20:29
阅读次数:
131
首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,每次返回的都是原对象,可以通过append()方法来修改值 (2)St ...
分类:
其他好文 时间:
2016-07-05 22:14:56
阅读次数:
226
list1list2zip(list1,list2)就像拉链一样,合并之后就成一个大的列表。1.字典字典是python中唯一的映射类型(哈希表),也就是说是无序的字典对象是可变的,但是字典的key必须是不可变对象,而且是唯一的,一个字典中可以使用不同类型的键值字典的方法:keys()values()items()d..
分类:
编程语言 时间:
2016-07-02 14:37:13
阅读次数:
146
2、I/O input output print() input()(输入的值,类型为str) 3、dict,key-value,根据key值算出value的存储位置(内存地址),通过key计算位置的算法是哈希算法,所以key的取值,一定是不可变的(所以list不可为Key) 4、不可变对象。对于不 ...
分类:
编程语言 时间:
2016-06-28 12:16:01
阅读次数:
151
python并不刻意区分“按值传递”和“按引用传递”。 在底层,python将值分为不可变对象(比如int,str)和可变对象(比如列表)。所有的变量都是对某个对象的引用,赋值(=)和函数参数传递,都将改变变量所引用的对象。 对于不可变对象,赋值和传参将导致新创建对象,这和C++的引用行为是不同的。 ...
分类:
编程语言 时间:
2016-06-26 19:40:30
阅读次数:
148
从iOS6以后,引入了一些非常简洁的语法,例如 (1)@[objects, ...] //@[] 初始化不可变数组 (2)@{key:object, ...} //@{}初始化不可变字典 (3)@(object) //@()初始化不可变对象 ...
分类:
其他好文 时间:
2016-06-16 19:44:10
阅读次数:
118
浅复制:只复制指向对象的指针,而不复制引用对象本身。计数器+1 ,就像比如retain 深层复制:复制引用对象本身。计数器不变,产生新对象 retain:始终是浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。 copy:对于可变对象为深复制,引用计数不改变;对于不可变对象是浅复制, ...
分类:
其他好文 时间:
2016-06-13 08:49:04
阅读次数:
265
什么是不可变对象? 众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括 基本数据类型的值不能改变,引用类型的变量不能指向 ...
分类:
编程语言 时间:
2016-06-06 11:49:57
阅读次数:
251