首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,每次返回的都是原对象,可以通过append()方法来修改值 (2)St ...
分类:
其他好文 时间:
2016-07-05 22:14:56
阅读次数:
226
有四种方式: 1。使用堆空间,返回申请的堆地址,注意释放 2。函数参数传递指针,返回该指针 3。返回函数内定义的静态变量(共享) 4。返回全局变量 ******************以下摘自csdn****************************** 其实就是要返回一个有效的指针,尾部变量 ...
分类:
编程语言 时间:
2016-07-03 21:40:54
阅读次数:
144
参数传递是指在程序的传递过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据处理和返回的过程。比较常见的参数传递有:值传递,按地址传递参数或者按数组传递参数。 1、常规传递 使用普通变量作为函数参数的时候,在传递参数时只是对变量值得拷贝,即将实参的值复制给变参,当函数对变参进行处 ...
分类:
编程语言 时间:
2016-07-02 15:52:43
阅读次数:
218
list1list2zip(list1,list2)就像拉链一样,合并之后就成一个大的列表。1.字典字典是python中唯一的映射类型(哈希表),也就是说是无序的字典对象是可变的,但是字典的key必须是不可变对象,而且是唯一的,一个字典中可以使用不同类型的键值字典的方法:keys()values()items()d..
分类:
编程语言 时间:
2016-07-02 14:37:13
阅读次数:
146
li = [11,22,33,44]def f1(arg): arg.append(55)#函数默认返回值None,函数参数传递的是引用li = f1(li)print(li) 内置函数补充: 判断是否被调用 def f1(): pass print(callable(f1)) ASCII码与数字转... ...
分类:
其他好文 时间:
2016-07-02 10:20:08
阅读次数:
128
本文内容摘自慕课网《Pyrhon入门》 1、set 特性 判断一个元素是否在set中速度很快。 set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。 创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素: 可以查看 ...
分类:
编程语言 时间:
2016-06-30 01:10:33
阅读次数:
218
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
先上结论 golang的所有内置类型作为函数参数传递都是传值的方式(没有传递引用一说),需要注意的是:数组、slice和map作为函数参数时也是传值,但是如果对结构内元素进行的修改,修改的是原数据。如果是对其进行整体赋值,则不会修改原数据,相当于拷贝出一个新的临时变量。要想无论什么情况都修改原数据, ...
分类:
其他好文 时间:
2016-06-28 12:15:15
阅读次数:
184
Python的类和类实例都是可变对象,可以随时给属性赋值,并且在原处修改。 在对类属性进行修改时需要特别小心,因为所有的类实例都继承共享类属性,除非实例本身存在和类属性同名的属性。对类属性进行修改,会影响到所有由这个类生成的实例。 运行结果: 代码中,将类属性CA.cls_pre 重新赋值为 'cc ...
分类:
编程语言 时间:
2016-06-26 20:59:11
阅读次数:
533
python并不刻意区分“按值传递”和“按引用传递”。 在底层,python将值分为不可变对象(比如int,str)和可变对象(比如列表)。所有的变量都是对某个对象的引用,赋值(=)和函数参数传递,都将改变变量所引用的对象。 对于不可变对象,赋值和传参将导致新创建对象,这和C++的引用行为是不同的。 ...
分类:
编程语言 时间:
2016-06-26 19:40:30
阅读次数:
148