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

        本章主要讲述关于字符串(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倒退
\0空字符,字符值为零
\0oooo为两位八进制表示的字符
\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:\newfile\test.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的索引,失败返回-1
S.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位)

      示例:
    '%10d' % 123   # '       123'
    '%-10d' % 123  # '123       '
    '%10s' % 'abc' # '       abc'
    '%05d' % '123' # '00123'
    '%-+5d' % 123  # '+123 '

15、附录

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值