美文网首页
03 字符串处理

03 字符串处理

作者: 卅月 | 来源:发表于2018-07-18 21:02 被阅读0次

    1.含义

    • 使用单引号或双引号括起来的字符集就是字符串。由一串字符构成(数字、字母、符号)
    '123' 'abcd' '这是汉字'             #这些都是字符串
    str1 = '尽诛宵小天策义\n'            #将一个字符串赋给变量
    str2 = '长枪独守大唐魂\n'
    
    • 转义字符:当想要表示一些字符,但是这些字符是系统语法的一部分,含有特殊功能。
      则可以用转义字符达成效果
      这些都是转义字符:
    \  --> '
    \\ --> \
    \n --> 换行
    \t --> 制表符
    \" --> "
    
    • 阻止转义:\\在转义的时候输出只有一个\,
      在引号前加r(R),可以阻止转义(使得\的功能失效),使得字符串输出变成 \\。
    str1 = r"\\1\n"
    print(str1)
    

    输出

    \\1\n
    
    • python中字符串的字符是Unicode编码。
      Unicode编码:使用16位对一个字符进行编码(ASCII是8位的)
      Unicode编码包含了ascll编码,可以表示世界上所有的语言和符号
           a.获取一个字符的Unicode编码
    print(hex(ord('孙')),hex(ord('建')),hex(ord('康')))
    print(ord('1'))
    

    输出

    0x5b59 0x5efa 0x5eb7
    49
    
           b.将Unicode码转换成字符
    print(chr(0x4EAE))      #查看unicode代码为0x4EAE对应的汉字
    

    输出

    字符串比较大小,从字符开始依次往后比较,直到遇到的字符不一样为止
    比较字符大小的时候,实质比的是他们的编码大小,结果为布尔值

    print('abc' > 'b')  #------>False
    print('Zbc' > 'aa') #---->False
    

    2.字符串中字符的获取

    python的字符,实质是一个有序的字符序列。

    • 获取字符串的长度:(长度-->字符串中字符的个数)

    注:转义字符的长度为1

    #len()是python内置的获取一个序列长度的内置函数
    count_num = len('abc\n123')
    print(count_num)     #------>count_num == 7
    
    • 通过下标获取字符串中的某一个字符

    字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的字符.字符串:[索引值]

    'abc' --->  a:0 , b:1 , c:2
    str1 = 'abc'   
    print(str1[1])    # 获取 b
    
    print(str2[num-1])  #获取 p的2种方法
    print(str2[-1])     #获取 p的2种方法
    
    str2 = 'goog good study\nday day up'
    num = len(str2)    #获取字符串str2的长度
    

    获取字符的时候,索引值(下标)不能超过索引(下标)的范围,否则会报错index out of range

    • 获取字符串中的部分字符。字符串:[开始下标:结束下标]

    获取从开始下标到结束下标的字符(----具体范围为[开始下标,结束下标)-----)
    要求:开始和结束下标都有值,开始下标对应的字符,要在结束下标对应的字符前面。获取部分字符的方式多种多样,需要仔细研究实现的原理。

    str3 = 'hello python'
    获取python
    print(str3[6:12])
    print(str3[-6:12])
    print(str3[6:])         #视情况可选择性的省略开始下标和结束下标
    
    获取hello
    print(str3[:5])         #视情况可选择性的省略开始下标和结束下标
    
    获取整个字符串
    print(str3[:])
    
    字符串[开始下标:结束下标:步进]------>步进默认为1可省略,不为1的时候:依次间隔取
    print(str3[::2])        #每2个字符取一次
    print(str3[::-1])       #倒序
    

    输出

    python
    python
    python
    
    hello
    
    hello python
    
    hlopto
    nohtyp olleh
    

    3.字符串运算

    • a. 字符串拼接 ,使用+实现,注意: + 两边数据类型必须要一样的
    str1 = 'hello' + ' ' + 'python'      #---->str1 == 'hello python'
    
    • b. 让字符串重复
      字符串*整数,让字符串重复n次
    str2 = 'abc' *3
    print(str2)      #---->str2 == abcabcabc
    
    • c. in 和 not in
    字符串1 in 字符串2:判断字符串1是否在字符串2中。结果是布尔值
    result = 'aa' in 'abaac'
    print(result)   #----->True
    
    字符串1 not in 字符串2 :判断字符串1是否不在字符串2中。结果是布尔值
    result = 'aa' not in 'abaac'
    print(result)   #---->False
    
    • d. 格式字符串
      格式:'%s%s'%(值) -----> '占位符1占位符2'%(值1,值2)
    str1 = 'abc%s123' % ('>>>')
    print(str1)
    
    %s ---->字符串占位符
    %d---->整数占位符
    %f---->浮点占位符
    %c---->字符(长度是1的字符串)占位符
    
    str2 = '%s%d%c%f' % ('sjk',100,'a',2.13)
    print(str2)
    
    使用%.nf控制小数点后的位数(默认是6位小数)
    str2 = '这是一个2位小数:%.2f' % (2.13000)
    print(str2)
    
    %x和%X都是16进制的占位符(分大写小写)
    num = 255
    str4 = '%x, %X' % (num,num)
    print(str4)
    # 输出
    ff, FF
    
    • e.格式化输出
      赋给变量名字,年龄最后格式化输出
    name = 'sjk'
    age = 18
    print('我是%s,我今年%d岁' % (name,age))
    
    • f.去进制符号
    print('格式化无符号八进制:%o,十六进制%x,十六进制大写:%X' % (0o76,0xff,0Xff))    #---->分别去掉各进制的前置符号
    
    print('100的八进制数为:%o' % (100))    #结果--->100的八进制数为:144
    

    4.字符串相关內建函数

    在python中,有许多关于字符串的內建函数,这是系统预先封装好了的函数,可以直接调用,免去自己写算法的麻烦。

    函数 作用
    strip 切片函数
    ……未完待续 ……未完待续

    5.条件语句

    即if语句。条件语句:可以是任何有值的表达式,但是一般是布尔值。

    执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码。
    为False,就不执行:后面一个缩进中的代码块,直接执行后续的其他语句

    结构
    #if 条件语句:
        #条件语句结果为True执行的代码块
    
    if True:
        print('代码1')
        print('代码2')
        print('代码3')
    
        #条件语句结果为False执行的代码块
    else:
        print('代码5')
    print('代码4')      #---->由于缩进的原因,此行的代码不属于if语句,是一个单独的语句
    

    实战练习:
    判断一个学生成绩是否合格(60分)先判断条件语句是否为True,如果为True就执行语句块1,输出“合格”。
    否则执行语句块2,输出“不合格!太弱了”

    score = 50
    if score > 60:
        print('合格')
    else:
        print('不合格!太弱了')
    

    相关文章

      网友评论

          本文标题:03 字符串处理

          本文链接:https://www.haomeiwen.com/subject/rxmapftx.html