• Python笔记:字符串


     字符串

    1. 字符串定义:字符串可以使用一对单引号、双引号或三引号来定义,即便是单个字符也会当做字符串来处理(Python中没有字符类型,单个字符也就是只有一个字符的字符串而已)。
    2. 原始字符串:字符串中反斜杠“”表示转义,如果不想“”表示转义,在字符串之前加上“r”或“R”,表示原始字符串,即字符串中的字符都是原始的字符,没有任何特殊含义(没有转义),比如r'aaa ',其中“ ”就是两个普通字符,不再代表换行符了。
    3. 字符串切片:字符串就是一个字符序列,可以使用列表的切片运算来获得字符串的子串,也可以使用下标索引获得其中的字符的位置,第一个字符的下标为0(从左向右),最后一个字符的下标为-1(从右向左)。
    4. 字符串连接:可以使用“+”号连接两个字符串(会在内存重新开辟一块空间,创建一个新的字符串来表示这个连接结果),推荐使用字符串的join()方法来链接字符串;可以使用“*”进行字符串的重复连接;可以进行字符串的级联,比如:s='aaa '' bbb',s的结果为'aaa  bbb',级联的字符串在同一行,且字符串之间可以空格(连接时会忽略掉)。
    5. 星号“*”用法:在生成新字符串时,可以使用“*”来指定某个字符串的重复次数,如:s='a'*3 >>> s='aaa'。
    6. 字符串类型:Python2.7.x中字符串类型有两种:普通字符串和Unicode字符串,前者使用普通字符串定义或str()函数可以得到,后者在定义字符串前加上前缀u或U。而Python3中只有Unicode字符串。
    7. 字符串格式化:有两种格式化方式,一种是使用“%”(旧的方式),这个也比较简单且常用,但是推荐另一种新的方式,就是使用str.format()方法,使用“{}”占位符格式化字符串。使用格式化的符号时,前者直接在“%”后使用就行了,比如:'Python%0.2f' % 2.7123,后者需要在{}中的符号前加上冒号,比如:'Python{:0.2f}'.format(2.7123),后者更多用法见示例代码。

      

    格式化符号表(以%为例)
    %c 转为单字符
    %r 转为用repr()表达的字符串
    %s 转为用str()表达的字符串
    %d或%i 转为有符号的十进制整数
    %u 转为无符号的十进制整数
    %o 转为无符号的八进制整数
    %x 转为无符号的十六进制整数,十六进制字母用小写表示
    %X 转为无符号的十六进制整数, 十六进制字母用大写表示
    %e 转为科学计数法表达的浮点数,其中的e用小写表示
    %E 转为科学计数法表达的浮点数,其中的E用大写表示
    %f或%F 转为浮点数
    %g 由Python根据数字的大小自动判断转换为%e或%f
    %G 由Python根据数字的大小自动判断转换为%E或%F
    %%

    输出“%”

    辅助格式化符号表
    * 定义宽度或小数点的精度
    - 左对齐
    + 对正数输出正值符号“+”
    <sp> 数字的大小不足m.n的要求时,用空格补位
    # 在八进制数前显示0,在十六进制数前显示0x或0X
    0 数字的大小不足m.n的要求时,用0补位
    m.n m是显示的最小总宽度,n是小数点后的位数(如果可用)

      

      使用str.format()格式化字符串示例:

    >>> string = 'python{}, django{}, tornado{}'.format(2.7, 'web', 'tornado')  # 有多少个{}占位符就有多少个值与其对应,按照顺序“填”进字符串中,如果{}和值的个数不相等,则会报错
    >>> string
    'python2.7, djangoweb, tornadotornado'
    >>> string = 'python{}, django{}, tornado{}'.format(2.7, 'web')
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        string = 'python{}, django{}, tornado{}'.format(2.7, 'web')
    IndexError: tuple index out of range
    >>> string = 'python{0}, django{2}, tornado{1}'.format(2.7, 'web', 'tornado')  # 也可以指定“填”进去的值(从0开始,后面的值不一定都要用上,但是要保证指定的位置是有值的)
    >>> string
    'python2.7, djangotornado, tornadoweb'
    >>> string = 'python{py}, django{dja}, tornado{tor}'.format(tor='tornado', dja='web', py=2.7)  # 可以使用键值对的形式赋值,这里也可以以字典的形式传入“**para_dict”
    >>> string
    'python2.7, djangoweb, tornadotornado'
    >>>
    >>> 'Python{:.2f}'.format(2.7123) # 使用格式化符号
    'Python2.71'
    >>> 'Python%.2f' % 2.7123
    'Python2.71'
    >>> 
  • 相关阅读:
    数据管理(五)
    (译文)Gentoo的前世今生 part3 (完成版※)
    数据管理(三)
    数据管理(一)
    数据管理(七)
    (译文)Gentoo的前世今生 PART 1(完成版)
    数据管理(六)
    数据管理(四)
    SQL Server补丁版本的检查和安装过程中常见问题
    3938 Portal(离线型的并查集)
  • 原文地址:https://www.cnblogs.com/guyuyun/p/5723668.html
Copyright © 2020-2023  润新知