人工智能(python)开发 —— 字符串(str)

2021-01-11 10:17:33 浏览数 (1)

参考链接: Python | 字符串upper

本章主要讲述关于字符串(str)类型的相关知识点,主要包括有字符串表示法、转移字符、ASCII编码、raw原始字符串函数、字符串运算、字符串索引及切片、常用字符串序列函数、字符串方法、格式化字符串及占位符等

1、字符串 str

    作用:用来记录文本信息    序列的概念:字符串是序列的一种

    表示方法:            在非注释中,凡是用引号括起来的部分都是字符串,包括以下四种:

              '    单引号

              "    双引号

              '''  三单引号

              """  三双引号

    空字符串的表示方法:            注: 空字符串的布尔值为False        ' '

        " "

        '''  '''

        """  """              

    非空字符串表示方式:        'hello'

        "hello"

        '''hello'''

        """hello"""

    单引号和双引号的区别:        单引号内可以包含双引号

        双引号内可以包含单引号

    三引号字符串的作用:        三引号字符串中的换行会自动转换为换行符 'n'

        三引号内可以包含单引号和双引号

示例:

        print('welcome to beijing.nI like python!nI am Studing!')

    隐式字符串字面值拼接

s = "I'm "  'a programer.'  'my name is "python3"'

print(s)

2、用转义序列代表特殊字符            

转义格式意义'单引号(')"双引号(")\反斜杠( )n换行r返回光标至行首f换页t水平制表符v重直制表符b倒退空字符,字符值为零oooo为两位八进制表示的字符xXXXX为两位十六进制表示的字符uXXXXUnicode 16的十六进制表示的字符UXXXXXXXXUnicode 32的十六进制表示的字符

3、ASCII 编码  查看ASCII 编码表:

 $ man ascii<回车>

常用的ASCII编码:  字符    十进制    十六进制

  '0'                   48          0x30

  'A'                   65          0x41

  'a'                    97          0x61

4、raw 字符串(原始字符串)  格式:

            r'字符串内容'

            r"字符串内容"

            r'''字符串内容'''

            r"""字符串内容"""

      作用:让转义符号 无效

      示例:

   a = 'C:newfiletest.py'

    print(a)

5、字符串的运算

      加号用于拼接字符串

x = "ABC" 'DEF'

print(x)

y = "123"

z = x y

      = 复合赋值

x = y 等同于 x = x y

        * 运算符生成重复的字符串

x = "ABC" * 2

print(x)

注: 字符串只能和整数相乘

          *= 运算符:

x *= y 等同于 x = x * y

6、字符串的比较运算 

 运算符:

                >  >=  <  <=  ==  !=

  示例:

    "A" == 'A'    # True

    'A' < 'B'     # True

    'ABC' > 'ABB' # True

    'ADC' < 'ABC' # False

    'AD'  > 'ABC' # True

    'AB'  > 'ABC' # False

    'ABCD' != 'DCBA'  # True

7、in  / not in 运算符          

作用:

                    in 用于序列,字典,集合等容器类中,用于判断某个值是否存在于容器中,如果存在返回True,不存在返回False

                    not in 与 in运算符返回的布尔值相反

格式:

                对象 in 序列

          示例:

x = 'welcome to beijing'

'to' in x  # True

'hello' in x # False

8、字符串的索引         

索引 index:

                            python 字符串是不可以改变的字符序列

语法:字符串[整数表达式]

 说明:

                python序列都可以用索引(index)来访问序列中的对象

                python 序列正向的索引从0开始,第二个索引为1,最后一个索引为len(s)-1

                python 序列的反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)

9、切片 slice          作用:

                    从字符串序列中取出一部分相应的元素重新组成一个字符串

          语法:

                    字符串[(开始索引b):(结束索引e)(:(步长s))]

                    注: () 内括起的部分代表可以省略

          说明:

                1. 开始索引是切片开始切下的位置0代表第一个元素,-1代表最后一个元素

                2. 结束索引是切片的终止索引(但不包含终止索引)

                3. 步长是切片每次获取完当前索引后移动的方向和偏移量

                     a、 没有步长,相当于取值完成后向后移动一个索引的位置(默认为1)

                     b、当步长为正整数时,取正向切片:

                           步长默认值为1, 开始索引默认值为0, 结束索引的默认值为len(s)

                      c、当步长为负整数时,取反向切片:

                            反向切片时,默认的起始位置为最后一个元素,默认终止位置为第一个元素的前一个位置

          示例:

    s = 'ABCDE'

    a = s[1:4]  # a -> 'BCD'

    a = s[1:]   # a -> 'BCDE'

    a = s[:2]   # a -> 'AB'

    a = s[:]    # a -> 'ABCDE'

    a = s[4:2]  # a -> ''

    a = s[2:10000]  # a -> 'CDE' 开始索引/结束索引可以越界

    a = s[::2]  # a -> 'ACE'

    a = s[1::2] # a -> 'BD'

    a = s[::-1] # a -> 'EDCBA'

    a = s[::-2] # a -> 'ECA'

    a = s[4:0:-2]  # a -> 'EC'  

10、python3中常用的序列函数          len(x)    返回序列的长度

          max(x)  返回序列的最大值元素

          min(x)  返回序列的最小值元素 

字符串编码(encode)的转换函数:

          ord(c)  返回一个字符的Unicode 值

          chr(i)   返回i这个值所对应的字符

    整数转换为字符串的函数:

          hex(i)  将整数转换为十六进制的字符串

          oct(i)  将整数转换为八进制的字符串

          bin(i)  将整数转换为二进制的字符串

    字符串的构造函数 str

          str(obj='')  对象转字换为字符

11、python3中常用的字符串方法(method)        方法的调用语法:

                                 对象.方法名(方法传参)

        示例:

    'abc'.isalpha()  # 是正确的语法

    123.isalpha()    # 是错的

        常用字符串方法    

方法说明S.isdigit()判断字符串中的字符是否全为数字S.isalpha()判断字符串是否全为英文字母S.islower()判断字符串所有字符是否全为小写英文字母S.isupper()判断字符串所有字符是否全为大写英文字母S.isspace()判断字符串是否全为空白字符S.center(width[,fill])将原字符串居中,左右默认填充空格S.count(sub[, start[,end]])获取一个字符串中子串的个数S.find(sub[, start[,end]])获取字符串中子串sub的索引,失败返回-1S.strip()返回去掉左右空白字符的字符串S.lstrip()返回去掉左侧空白字符的字符串S.rstrip()返回去掉右侧空白字符的字符串S.upper()生成将英文转换为大写的字符串S.lower()生成将英文转换为小写的字符串S.replace(old, new[, count])将原字符串的old用new代替,生成一个新的字符串S.startswith(prefix[, start[, end]])返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,S.endswith(suffix[, start[, end]])返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False以下是不常用的 S.title()生成每个英文单词的首字母大写字符串S.isnumeric()判断字符串是否全为数字字符

 空白字符:是指空格,水平制表符(t),换行符(n)等不可见的字符

13、格式化字符串中的占位符和类型码    

占位符类型码意义%s字符串%r字符串,使用repr 而不是str%c整数转为单个字符%d十进制整数%o八进制整数%x十六进制整数(字符a-f小写)%X十六进制整数(字符A-F大写)%e指数型浮点数(e小写),如2.9e 10%E指数型浮点数(E大写),如2.9E 10%f, %F浮点十进制形式%g, %G十进制形式浮点或指数浮点自动转换%%等同于一个%字符

14、占位符和类型码之间的格式语法          格式:

                    % [- 0 宽度.精度] 类型码

          说明:

                    -      左对齐(默认是右对齐)

                         显示正号

                    0      左侧空白位置补零

                    宽度: 整个数据输入的宽度

                    精度: 保留小数点后多少位(默认是6位)

      示例:

    'd' % 123   # '       123'

    '%-10d' % 123  # '123       '

    's' % 'abc' # '       abc'

    'd' % '123' # '00123'

    '%- 5d' % 123  # ' 123 '

15、附录        

人工智能(python)—— 目录汇总

0 人点赞