Python基础教程系列:四、字符串

    字符串类型是使用最多最广泛的类型,最简单的创建方式就是通过引号,当然这里单引号双引号是一样的。字符串本身也是序列,所以在上一篇序列中所讲的内容都适用于字符串操作。

    一、字符串的创建和赋值:aString = 'Hello Python!'      也可以通过“格式工厂”str()产生,比如   str(range(4))   ----->'[0,1,2,3]',其中range()函数会产生一个序列,它的用法其实上篇内容中我们已经讲过。尤其是切片操作。这里就不再重述了。

    二、访问字符串中的元素和子串:可以通过下标索引和截取操作。具体见上篇教程。

    三、如何改写字符串:可以在原来字符串的基础上截取、通过“+”增加新的内容或其他操作等;也可以直接赋值新的内容进行覆盖。

    举例:  aString = aString[1:3] + 'world'      或者   aString = 'Bye World!'

    四、如何删除字符串中某个字符(或子串)以及删除字符串

    举例:aString = aString[:3] + aString[4:]     #删除aString[3]

              aString = aString[:3] + aString[5:]     #删除子串aString[3:5]

              del aString                             #删除字符串,完全没必要,难道你定义个int i;最后你会显式的删除变量i?

    五、基本操作符: ==   ,<   ,   >     ,  !=   这些都很简单,这里大小是按照字典顺序比较的,返回值都是布尔类型值

    六、成员操作符:  in  , not in          so easy,不说了

    七、切片操作符:[]和[:]等,详见上一篇序列操作。这是个重点内容。

    八、连接操作符:   +    ,讲过了,略过。

    九、重复操作符:    *     ,也讲过了,   aString * 10

    十、字符串特有的操作符:    格式化操作符:    %   ,学过C语言的孩子都理解,printf("%s is number %d",str,i);   用法也和C语言很类似,用的最多的也是%d和%s,当然远不止这两个,其余的用的相对较少。print "%s is number %d" % ("python",1)

    十一、内建函数:

    1、cmp(),用来做比较用的,也是比较的字典顺序,在教材中返回的值是大于1或小于-1的值,可能是版本的原因吧,我用的2.7版本只能返回-1、0、1三个值,cmp(a,b),其实没关系,a的内容小于b的返回负数,相等返回0,a的内容比b的大,返回正数。

    2、len(),求长度的。

    3、max()、min()

    4、enumerate():举个例子,一目了然

    >>> s = 'foobar'
    >>> for i, t in enumerate(s):
        ... print i, t
        ...
    0 f
    1 o
    2 o
    3 b
    4 a
    5 r

    5、zip(),我刚看的时候还以为压缩呢,晕,也是,举个例子,不解释,用的不是很广泛

    >>> s, t = 'foa', 'obr'
    >>> zip(s, t)
    [('f', 'o'), ('o', 'b'), ('a', 'r')]

    十二、三引号:虽然你可以用单引号或者双引号来定义字符串,但是如果你需要包含诸如换行符这样的特殊字符时,单引号或者双引号就不是那么方便了。Python 的三引号就是为了解决这个问题的,它允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符.

    十三、字符串不变性:字符串具有不可变性。可是我们说面说到字符串可以进行截取,连接等操作,实际上我们是重新新建了一个字符串而已,而原来的字符串不再使用释放掉了而已。大家要是不信,我们可以用事实说话。

    >> s = 'abc'
    >>>
    >>> id(s)     #id()函数返回一个对象的身份,这个概念有点类似于"内存地址"。    

    135060856    #我这是在教材中摘抄的,不同地方运行数值不一样,没关系
    >>>
    >>> s += 'def'
    >>> id(s)
    135057968   #前后两次数值不一样,就说明对象变了,这里的s  与上面的s 不是同一个对象

    或者你

    >>> s
    'abcdef'
    >>>
    >>> s[2] = 'C'   #如果回车后不出错,那就代表字符串具有可改性,我可以将小写c改写成大写的C

    十四、总结

    一些引号分隔的字符
    你可以把字符串看成是Python 的一种数据类型,在Python 单引号或者双引号之间的字符数组或者是连续的字符集合.在Python 中最常用两个引号是单引号(')和双引号(")。字符串的实际内容是这些单引号(')或者双引号(")之间的字符,不包括引号本身.
    可以用两种引号来创建字符串是很有益处的,因为是当你的字符串中包含单引号时,如果用单引号创建字符串,那么字符串中的双引号就不需要转义。反之亦然.
    不可分字符类型
    字符串是唯一的字面上的字符序列类型.不过,字符本身并不是一种类型,所以,字符串是字符存储操作的最基本单位.字符应该视为长度为1 的字符串.
字符串格式化操作符 ( % )提供类似于printf()那样的功能.
    三引号
    介绍了三引号,在三引号字符串中可以包含诸如换行回车或者tab 键这样的特殊字符.三引号字符串是用两边各三个单引号(''')或者两边各三个双引号(""")来定义的.

    当然,关于字符串的操作远不止这些,我只是节选了几个使用频率较高的说一下,具体详见教材。

    下一遍:列表

 

你可能感兴趣的:(python,入门,字符串)