银角大王之基础一 :

        http://www.cnblogs.com/wupeiqi/articles/4906230.html

1、 python字符介绍

   在C语言中没有字符串,只有字符

   在python中的字符串hello,在C语言中是以字符数组在内存存放['h','e','l','l','o'],如果对字符串修改,则是在内存中新开辟了一段空间进行存放。

   字符串特性:一旦修改,需要重新创建。

   例: "hello" + "ni" + "hao"      内存中:['h','e','l','l','o'] + ['n','i'] + ['h','a','o']

   万恶的“+”,“+”号越多,在内存中多次重复创建,浪费空间。

   C语言需要手动回收,而python,C#等高级语言自带虚拟机会进行GC垃圾回收没有被调用的内存访问空间。

 

2、 python字符串的格式化(占位符)可以节省内存空间

     有如下二种方式,例:

 说明:第二种format方式的效果会更好,性能更好,其实变量a的值没有变,在格式化赋值时会在内存中新开辟空间存放。在python2.7和python3.4中测试结果相同

 >>> a = 'i am %s,age is %d'
>>> a % ('wangkai',33)
'i am wangkai,age is 33'
>>> print(a)
i am %s,age is %d


>>> a = 'i am {0},age is {1}' 
>>> a.format('wangkai',33) 
'i am wangkai,age is 33'
>>> print(a)
i am {0},age is {1}
变量格式化

相关文章: