python学习笔记day04,字符串函数方法,切片

目录

字符串:

序列:

raw 字符串(原始字符串)

索引(index):

切片:

python3中可以用于字符串的函数:

字符串编码转换函数:

 练习题:



字符串:


    三引号字符串:
        以 ''' 或者 """ 开头,以'''或者"""结尾。

        所见即所得:

         

s1="""wo shi gaoxiangyang!
wo ai ni.
ni shi shei?"""
s2="wo shi gaoxiangyang!\nwo ai ni.\nni shi shei?"
print(s1)
print(s2)

运行->

wo shi gaoxiangyang!
wo ai ni.
ni shi shei?
wo shi gaoxiangyang!
wo ai ni.
ni shi shei?

            进入交互模式:

            $    >>>s1="""wo shi gaoxiangyang!
            $    ...wo ai ni.
            $    ...ni shi shei?"""
            $    >>>s1
            $    wo shi gaoxiangyang!\nwo ai ni.\nni shi shei?

            由此可得三引号把回车键自动转变成\n

    转义字符:
        \'        代表一个单引号
        \"        代表一个双引号
        \n      代表换行符
        \\        代表一个反斜杠
        \r        返回光标至开头
        \t      水平制表符
        \f        换页
        \v        垂直制表符
        \b         倒退
        \0        字符值为0
        \0oo    oo为两位八进制表示的字符
        \uXX    XX表示两位十六进制表示的字符            # print("\u41")           >>>A
        \uXXXX  Unicode 16的十六进制字符                # print("\uXX41")         >>>A
        \UXXXXXXXX  Unicode 32的十六进制字符             # print("\UXXXXXX41")     >>>A

    ASICC编码:
        # 查看ASICC编码表
        # man ascii #仅LINUX系统可用

        常用的ASICC编码:
            字符         十进制         十六进制
            '0'           48            0x30
            'a'           97            0x61
            'A'           65            0x41


序列:


    字符串就是序列
    求序列长度的函数:
        len(x) 返回序列中个数


raw 字符串(原始字符串)


    格式:
        r"字符串内容"
        r'字符串内容'
        r'''字符串内容'''
        r"""字符串内容"""
    作用:
        让转义字符 '\' 无效
    示例:
      

         s1="C:\newfile\tese.py"
         print(s1)    
         s2=r"C:\newfile\tese.py"
         print(s2)
         print(len(s1))
         print(len(s2))


索引(index):


    python字符串都是不可改变的序列,
    所有的序列都可以通过索引来获取其中的元素

    语法:
        字符串[index]
    说明:
        1.序列的正向索引是从0开始的,第二个为1,最后一个为 len(s)-1 
        2.序列的反向索引是从-1开始的,-1代表最后一个元素,-2表示倒数第二个元素,第一个是 len(s)
    示例:
        s = 'ABCDE'
        s[0] = 'A'


           A        B        C        D        E     
         s[ 0]    s[ 1]    s[ 2]    s[ 3]    s[ 4]        s[5]  ->>"越界错误"
         s[-5]      s[-4]    s[-3]    s[-2]    s[-1]          s[-6] ->>"越界错误"


    练习:
        输入一段字符串,打印以下内容:
  
        1.打印这串字符串的最后一个字符
        2.打印这串字符串的第一个字符
        3.如果这串字符串的长度是奇数,那么打印中间的字符
    注:
        求字符串长度函数len(x)       

        # 第一题
        print(input("请输入字符串:")[0])
        第二题
        print(input("请输入字符串:")[-1])
        # 第三题
        s= input("请输入字符串:")
        l= len(s)
        print(s[l//2] if l%2==1 else "是偶数")


切片:


    从字符串中取出相应的元素重新排列成一个字符串序列
    语法:
        s[ 开始索引 : 结束索引  (:步长) ]
    说明:
        1.切片切下的位置,0代表第一个元素,1代表第二个元素 ,-1代表最后一个元素...
        2.结束索引是切片的终止索引
        3.步长是切片每次获取完当前元素后移动的偏移量
            1.步长默认为1(可以省略)
            2.当步长为正整数时,取正向的切片,开始索引默认为0,结束索引为最后一个元素的前一个位置
            3.当步长为负数的时候,取反向的切片。
              反向切片时,默认的起始位置是最后一个元素
              终止位置是第一个元素的后一个位置
    示例:
        >>>s = "ABCDE"
        >>>s[1:4]
        'BCD'

        >>>s[1:]  #从第二个元素到最后一个
        'BCDE'

        >>>s[0:2]   
        'AB'

        >>>s[:3]  #从第一个元素开始到第三个元素
        'ABC'

        >>>s[2:2]   #空字符串
        ''            

        >>>s[4:1]   #空字符串
        ''

        >>>s[-4:4]   
        'BCD'   

        >>>s[::2]   #步长为2
        'ACE'

        >>>s[4:0:-1]   #倒序
        'EDCB'
        
        >>>s[::-2]   
        'ECA'

    练习:
        1.写一个程序,输入一个字符串,把字符串的第一个和最后一个字符去掉,打印处理后的字符串
        2.输入一个字符串,判断是否是回文(中心对称的文字)。
            回文示例:
                ABCCBA
                1234321

    答案:
        # 第一题
        # s=input("请输入字符串:")
        # print(s[1:-1])
        #
        # 第二题
        # s=input("请输入字符串:")
        # l=len(s)
        # print("是回文" if s[0:l//2] == s[l:l//2:-1] else "不是回文")


python3中可以用于字符串的函数:


    len(x)         返回字符串的长度
    max(x)        返回字符串中编码值最大的元素
    mix(x)        返回字符串中编码值最小的元素

    示例:
        s = "12345"
        len(s)  # 5
        max(s)  # '5'
        mix(s)  # '1'


字符串编码转换函数:


    ord(c)    返回一个字符c的Unicode编码值
    chr(i)  返回 i 这个值的所对应的字符

    示例:

        print(ord('A'))    # 65
        print(ord('高'))   # 39640
        print(chr(65))     # 'A'
        print(chr(39640))  # '高'  

     
整数变各种进制字符串的函数:
    bin(9)   # '0b1001'
    oct(9)   # '0o11'
    hex(9)   # '0x09'

python3中常用的字符串方法(method):
    方法的调用语法:
        Object.method(参数)
    常见方法:
     

S.isdigit()                                    # 判断字符串中的字符是否全为数字
S.isalpha()                                    # 判断字符串是否全为英文字母
S.islower()                                    # 判断字符串所有字符是否全为小写英文字母
S.isupper()                                    # 判断字符串所有字符是否全为大写英文字母
S.isspace()                                    # 判断字符串是否全为空白字符
S.center(width[,fill])                        # 将原字符串居中,左右默认填充空格 width是改变后字符串的长度,fill为填充内容
S.count(sub[, start[,end]])                    # 获取一个字符串中子串的个数    sub为搜索的子字符串
S.find(sub[, start[,end]])                    # 获取字符串中子串sub的索引,失败返回-1
S.strip([chars])                            # 返回去掉左右char字符的字符串(默认char为空白字符)
S.lstrip([chars])                            # 返回去掉左侧char字符的字符串(默认char为空白字符)
S.rstrip([chars])                            # 返回去掉右侧char字符的字符串(默认char为空白字符)
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()    判断字符串是否全为数字字符

示例:

'abc'.isalpha()      # 判断'abc'是否是字母 返回Bool值   'abc'由此可见是一个字符串对象
123.isalpha()         # 报错  —>> 整数对象中没有isalpha()方法


    详见:
        help(str)

    练习题:


        1.判断您输入的字符串有几个空格
        2.将源字符串左右两边的空格去掉,打印出有效的字符串
        3.判断输入的是否是数字,如果是则判断是否大于100

    答案:
        # 第一题
        # print(input("请输入字符串:").count(' '))
        # 第二题
        # print(input("请输入字符串:").strip(' '))
        # 第三题
        # s=input("请输入字符串:")
        # print(       ("大于100" if int(s)>100 else "小于100")    if       s.isdigit()       else    "不全是数字")

猜你喜欢

转载自blog.csdn.net/gh7735555/article/details/81391762