字符串

2021/8/19 23:07:21

本文主要是介绍字符串,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.1.2 字符串

  • Python字符串有多种形式,可以使用单引号(' '),双引号(" "),反斜杠(\)可以用来转义。

    >>> 'hello world'
    'hello world'
    >>> 'dosen\'t'
    "dosen't"
    >>> 'you "too"'
    'you "too"'
    >>> 'you\"is a pig'
    'you"is a pig'
    >>> 
    
  • print( )函数会生成可读性更强的输出,可以省区两边的引号,并打印出经过转义的特殊字符。

    >>> 'hello world'
    'hello world'
    >>> 'dosen\'t'
    "dosen't"
    >>> 'you "too"'
    'you "too"'
    >>> 'you\"is a pig'
    'you"is a pig'
    >>> print('hello world')
    hello world
    >>> print('dosen\'t')
    dosen't
    >>> print('you \"is\" a pig')
    you "is" a pig
    >>> s = "Hello World"
    >>> print(s)
    Hello World
    >>> 
    
  • 如果你不想前置(\)的字符转义称特殊字符,可以使用原始字符串方式,在引号前添加(r)即可。

    >>> print('C:\some\ame')
    C:\some
    me
    >>> print(r'C:\some\ame')
    C:\some\ame
    
  • 字符串面值可以跨行连续输入。一种方式是用三重引号:""" """ 或''' '''。字符串中的回车换行会自动包含到字符串中,如果不想包含,在行尾添加一个(\)即可。

    >>> print("""
    	You are a pig
    	-fns
    	-fff
    	""")
    
    	You are a pig
    	-fns
    	-fff
    	
    >>> 
    
  • 字符串可以用(+)进行连接(粘到一起),也可以用(*)进行重复。

    >>> 3*'hello world'
    'hello worldhello worldhello world'
    
  • 相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起。

    >>> 'hello' 'world'
    'helloworld'
    
  • 把很长的字符串拆开分别输入的时候有用

    >>> txt = ('you are a pig'
    	   'Do you know')
    >>> txt
    'you are a pigDo you know'
    
  • 只能对两个字面值这样操作,变量或表达式不行。

    >>> a = 'py'
    >>> a 'thon'
    SyntaxError: invalid syntax
    
  • 如果你想连接变量,或者连接变量和字面值,可以用(+)号。

    >>> a = 'py'
    >>> a + 'thon'
    'python'
    
  • 字符串是可以被索引(下标访问)的,第一个字符的索引为0。

    >>> word = 'python'
    >>> word[0]
    'p'
    >>> word[3]
    'h'
    
  • 索引也可以是负数,这样会从右边开始数

    >>> word[-1]
    'n'
    >>> word[-3]
    'h'
    
  • 0和-0是一样的,所以负数索引从-1开始。

    除了索引,字符串还支持切片,索引可以得到单个字符,而且切片可以获取子字符串。

    >>> word[0:2]
    'py'
    >>> word[2:4]
    'th'
    
  • 注意切片的开始总是被包含在结果中,结束不被包含。(左闭右开)

    >>> word[:2]+word[2:]
    'python'
    >>> word[:3]+word[3:]
    'python'
    
  • 切片的索引有默认值,省略开始索引时默认为0,省略结束索引时默认为字符串结束。

    >>> word[:2]
    'py'
    >>> word[2:]
    'thon'
    >>> word[-3:]
    'hon'
    
  • 也可以理解为:将索引视作指向字符之间,第一个字符的左侧标为0,最后一个字符的右侧标为n,其中n是字符串长度。(使用过大的索引会产生错误)

  • 但是,切片中的越界索引会被自动处理

    >>> word[2:11]
    'thon'
    >>> word[11:]
    ''
    
  • Python中的字符串不能被修改,它们是immutable的。因此,向字符串的某个索引位置幅值会产生错误。

    >>> word[0] = 'a'
    Traceback (most recent call last):
      File "<pyshell#42>", line 1, in <module>
        word[0] = 'a'
    TypeError: 'str' object does not support item assignment
    
  • 如果需要一个不同的字符串,应当新建一个:

    >>> 'a' + word[1:]
    'aython'
    >>> word[:3] + 'a'
    'pyta'
    
  • 内置函数len()返回一个字符串的长度

    >>> s = 'youarsdfe'
    >>> len(s)
    9
    >>> 
    

    其他的一些操作

  • [文本序列类型 -- str](内置类型 — Python 3.9.6 文档)

    字符串是一种序列类型,支持序列类型的各种操作

  • [字符串的方法](内置类型 — Python 3.9.6 文档)

    字符串支持许多变换和查找的方法

  • [格式化字符串字面值](2. 词法分析 — Python 3.9.6 文档)

    内嵌表达式的字符串字面值

  • [格式字符串语法](2. 词法分析 — Python 3.9.6 文档)

    使用str.format()进行字符串格式化

  • [printf风格的字符串格式化](内置类型 — Python 3.9.6 文档)

    这里详述了使用%运算符进行字符串格式化。



这篇关于字符串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程