1. 字符串可以使用一对单引号或一对双引号指定起止位置,两种方式指定的字符串完全等价。

    如'Hello'和"World"

  2. 可以用三引号("""或''')指定多行字符串,其中可自由使用单、双引号而不需转义。

    如'''"What's your name?," I asked.'''

  3. 字符串过长不方便写在一行时,可以使用反斜杠跨行而不增加换行符。

    如:

    "abcde\

    fgh"

    等价于"abcdefgh"

  4. 如果字符串中有大量转义字符串,可以使用自然字符串(在字符串前加r或R)来简化书写,例如:r"Newlines are indicated by \n"等价于"Newlines are indicated by \\n"

  5. 两个字符串连续书写会自动连接,例如:str='ab'"cd",str就是'abcd'

  6. 可以使用format来构造复杂字符串,{}表示参数位置,format中依次指定参数值:(和%方式功能类似,但更加灵活。)

  1. first_name = "x"

    last_name = "y"

    "my name is {0} {name2}.".format(first_name, name2=last_name)#等价于"my name is x y."

    使用{0}{1}...表示第几个参数,{name2}直接指定参数名称

  2. {}中还能控制字符串格式,例如:

    '{0:.3}'.format(1/3)表示精确到小数点后三位

    '{0:_^11}'.format('hello')表示将字符串用'_'填充至11位,'hello'居中

  3. 可支持的详细格式为:[[fill]align][sign][#][0][minimumwidth][.precision][type],具体用法参见https://www.python.org/dev/peps/pep-3101/





参考文献:

  1. Python 快速教程(补充篇05):字符串格式化 (%操作符)

  2. python - 增强的格式化字符串format函数

  3. PEP 3101 -- Advanced String Formatting

  4. 字符串格式化:%和.format

  5. Python中的字符串模运算符与format函数