• python字符串应用


    一、字符串认识

    1.什么是字符串(str)

    容器型数据类型; 将’‘、“”、’‘’‘’'、“”“”""作为容器的标志里面的每个符号就是字符串中元素。
    不可变的(不支持增删改);有序的(支持下标操作)
    元素(字符):可以是任何文字符号, 包括:数字、字母、汉字、日文、韩语、表情符号、标点等

    任何文字符号都可以是字符串的元素
    str1 = '10,20,30'
    str2 = '12,=)*mksJkH在广州😁❀'
    
    三个引号开头三个引号结束的字符串,在字符串中可以直接按回车换行
    str3 = "abc\n123"
    print(str3)
    
    str4 = '''abc
    123'''
    print(str4, type(str4))
    

    2. 转义字符

    字符 - 字符串中的元素(字符串每一个独立的符号)
    字符串中的字符可以分为两种:普通字符、转义字符

    1)普通字符: 在字符串中表示符号本身的字符
    2)转义字符: \和指定的一些符号组合在一起表示特殊功能或者特殊意义的字符。
    转义字符是C语言创建的,但是很多都已经没有存在的价值的,目前常用的转义字符:
    \n - 换行
    \t - 水平制表符(相当于按一次tab键)
    ’ - 表示一个普通的单引号
    " - 表示一个普通的双引号
    \ - 表示一个普通的反斜杠

    \u四位的十六进制数 - 编码字符
    str5 = 'abcKH1234,😁'
    print(str5)
    
    并不是\和所有符号组合都可以变成转义字符
    str6 = '\m\k\l'
    print(str6)     # \m\k\l
    
    有一些C语言中的转义字符,在其他编程语言中无效
    str7 = '=\a=\f='
    print(str7)
    
    
    str8 = '\tabc\n123'
    print(str8)
    
    str9 = 'it\'s me'
    str10 = "it's me"
    
    str11 = "i say: \"you see see, one day day!\""
    print(str11)
    
    str12 = 'i say: \"you see see, one day day!\"'
    
    str13 = '\\name\yuting\论文.txt'
    print(str13)
    
    编码字符
    str14 = '\u4e01abc'
    print(str14)
    #丁abc
    

    3.r-string(r字符串)

    在字符串的最前面加r或者R,可以让字符串中所有的转义字符功能消失(让字符串中的所有字符自动变成普通字符)

    str1 = r'\tabc\n123\''
    print(str1) #\tabc\n123\'
    
    path = R'C:\ser\test\name\yuting\demo\t.txt'
    print(path) #C:\ser\test\name\yuting\demo\t.txt
    

    二、字符编码

    1. 编码值

    计算机存储数据的时候只能存数字(存的是数字对应的二进制的补码);
    为了能够让计算机存储字符,给每个字符对应一个固定的数字,每次需要存储这个字符的时候就去存这个数字;
    每个字符对应的那个数字就是这个字符的编码值。

    2.编码表 - 保存不同字符对应的编码值的表

    1)ASCII码表 - 有128个字符对应的编码值(只要包含英文符号和其他西欧语言对应的符号)
    数字字符0~9从48开始连续递增
    大写字母A~Z从65开始连续递增
    小写字母a~z从97开始连续递增

    2)Unicode编码表(Python) - 是ASCII码表的扩展(包含了ASCII码表),包含了世界上所有国家所有民族所有语言的对应的符号(统一码、万国码)
    中文范围:4e00 ~ 9fa5

    3.Python程序对编码值的应用

    1)chr(编码值) - 获取指定编码值对应的字符
    print(chr(97), chr(65))
    
    #### 打印所有的大写字母
    for x in range(65, 65+26):
        print(chr(x))
    
    
    print(chr(0x4e00), chr(0x9fa5))
    
    for x in range(0x4DC0, 0x4DFF+1):
        print(chr(x), end=' ')
    print()
    
    2)ord(字符) - 获取指定字符对应的编码
    注意:字符指是长度为1的字符串
    print(ord('牛'), ord('子'))
    print(hex(20313), hex(23159))
    
    print(ord('a'))
    
    3)编码字符: \u四位的十六进制数
    程序中给字符串提供字符的时候有两种方式:a.直接提供符号本身 b.通过字符对应的编码字符来提供(\u字符的16进制编码值)
    str1 = 'a余'
    str2 = '\u0061\u4f59'
    print(str1, str2)
    
    编码字符的使用场景:知道字符编码值,但是不知道字符的情况下,想要在字符串中提供这样一个字符
    print('在Unicode编码表中最后一个中文是:', '\u9fa5')
    

    三、字符串基本操作

    1.查 - 获取字符串中的字符

    字符串获取字符的语法和列表获取元素的语法一样。
    1)获取单个字符
    str1 = 'good good study! day day up!'
    print(str1[3], str1[-2])
    
    注意:不管转义字符的功能是什么,在计算字符串长度的时候一个转义字符的长度是1
    str2 = '\tabc\n123\u4e00m'
    print(str2[1], str2[-3])
    
    2)切片
    message = '小明的电话号码是:13678192303'
    print(message[-11:])            # '13678192303'
    print(message[3:-2:-2])         # ''
    print(message[1:-1:2])          # '明电号是16893'
  • 相关阅读:
    SPECjvm 2008 小记
    [NOI2007] 调兵遣将
    Python 计算三角形面积
    基于 Next.js实现在线Excel
    C语言:初始指针(1)
    安兰德写作竞赛可以获得多少奖金?
    树莓派4B基于OpenCV的C++环境的串口通信
    Arduino ESP32使用U3115S芯片控制H桥驱动有刷直流电机
    Create Vite App 支持 OpenTiny 啦🎉
    一款不错的SpringCloud 脚手架项目
  • 原文地址:https://blog.csdn.net/m0_58239511/article/details/127114348