美文网首页
Day003_笔记总结

Day003_笔记总结

作者: Autumn_Hy7 | 来源:发表于2018-08-22 19:41 被阅读0次

    一.什么是字符串:

    1.什么是字符串

    a.用单引号或者双引号括起来的字符集就是字符串
    b.字符串中每个独立的单元我们叫字符,列如'abc'中'a' 'b' 'c'就是字符

    2.转义字符

    说明:python中没有字符类型,如果要表示字符,就是用一个长度是1的字符串表示
    长度:指的就是字符串中字符的个数,列如:'abc',长度就是3(字母\符号\空格\中文都是1)
    通过 \ 将一些特殊的字符转换成一个具有特殊功能或者特殊意义的字符,就是转义字符

    • print('床前明月光\n疑是地上霜') # \n (换行)
      

    在计算转义字符的时候,转义字符长度是一个字符

    3.Unicode编码

    • python中字符的编码采用的就是Unicode编码

    • 将字符转换成指定的数值,这个过程就是编码(编码的目的是方便计算机存储)

    • 将数值转换成对于的符号的过程就是反编码或者叫解码

    • Unicode编码采用两个字节对一个字符进行编码(2`15),能够将世界上所有的符号进行编码

    • unicode编码中包含了ASCII编码

    • 将Unicode码转换成字符: chr(编码)

    • 将字符转换成Unicode码: ord(字符)

    • print(hex(ord('何')),hex(ord('羽'))) # 0x4f55 0x7fbd
      

    二.获取字符串

    字符串实质可以是一个不可变的序列,序列内容是字符
    一点字符串确定,那么里面的字符和字符的位置就不可变了

    1.怎么获取单个字符

    • str1 = 'abcd'  # a->0 b->1 c->2 d->3
      
      print(str1[0]) # 打印出 a
      
    • python中的字符串,可以通过下标(索引)来获取指定位置上的字符串:字符串[索引]
      '''
      说明:
      a.字符串:可以是字符串值,也可以是字符串变量
      b.[]:中括号是固定语法
      c.索引:从0开始到字符串长度-1 ; -1 ~ - 长度, -1 对应最后一个,-2对应倒数第二个
      '''

    2.获取部分字符(获取子串) -- 切片

    格式:字符串[下标1:小标2]: 从下标1开始获取到下标2前的所有的字符

    • str2 = 'hello word'
      
      print(str2[0:5])
      
    注意:下标1对应的位置,一定要在下边2对应的位置前
    • print(str2[0:12]) 
      
    • 切片时下标可以越界,越界的时候就取临界值
    格式: [下标1:小标2:步进]

    从下标1开始获取,每次下标值增加步进值,每增加一次取一个字符,直到取到下标2前为止

    • str3 = '0123456789'
      
      print(str3[0:9:2])   # 0 2 4 6 8  
      
      print(str3[1:10:2])  # 1 3 5 7 9
      
      print(str3[-1:5:-1]) # 9876
      
    • 步进如果是整数,那么下标1对应的字符的位置一定要在下标2对应的位置前面

    • 步进是负数,那么小标1对应的位置一定要在下标2对应的位置的后面

    • 下标2对应的字符是取不到的

    下标的省略
    下标1和小标2是可以省略的

    • str4 = 'good good study, day day up'
      
      print(str4[:4])
      print(str4[:4:-1]) # pu yad yad ,yduts doog
      

    下标1省略默认从开始获取(开头可能是字符串的第一字符,也可能是字符串的最后的一个)

    例如:要求一个字符串中所有下标是奇数位的字符取出来

    • print('0123456789'[1::2])
      print('0123456789'[::-2])
      

    三.字符串的相关运算

    1. + 运算符

    python支持两个字符串相加
    •   print( 'abc' + '123' )
      
    • 其效果就是将两个字符串拼接在一起产生一个新的字符串
      如果+的一边是字符串那么另一边也必须是字符串

    2. * 运算符

    字符串 * 一个整数: 字符串重复多次
    • print('abc ' * 3)
      

    3. 支持所有的比较运算符

    • print('abc' == 'abc')
      
    比较大小
    • print('abc' > 'z')
      
    • 两个比较的字符串每一位相比,谁的Unicode编码大

    in 和 not int
    • print('abc' in 'abcdefg') # True
      
    len() 获取字符和序列的长度
    • str1 = '0123456789'
      
      print(len(str1))   # 10
      
      print(len(str1)-1) # 9 
      
    • 补充: 空串

    • str1 = '' #空串的长度是0
      

    6.阻止转义

    • 在字符串的最前面添加 r/R 可以阻止转义
    • print(r'a\nb')
      

    练习

    • str_a = r'\nabc123'   求: str_a[3]  -> b
      str_b = 'adc123\\123' 求: str_b[-5] -> 3
      

    四.字符串相关的方法

    • python为字符串提供了很多的内建函数
    格式: 字符串.函数()
    • str1 = 'hello python'
      

    1.capitalize() 将字符串的第一个字符串转换为大写

    • newstr = str1.capitalize()
      
      print(newstr)
      
      print('abc'.capitalize())
      

    center(width,' fillchar ') 'fillchar' 默认是空格

    让字符串变成 widthd 对应的长度,原内存居中,剩余的部分使用 fillchar 的值填充

    width - 整数, fillchar -任意字符

    •   print('abc'.center(5,'*'))
      

    3.rjust(width,' fillchar ')

    • number = '10'
      sut_id = number.rjust(3,'0')
      
      print(sut_id)
      

    4. 原字符串.count(str)

    判断str 值在原字符串中出现了几次

    • print('aaabbbccc'.count('a'))
      

    5. str1.join(str2)

    在str2中的每个字符之间插入一个str1
    •   print('+'.join('123'))
      

    6. str1.replace(old,new)

    将str1中的old全部替换成new
    • print('aabbccddee'.replace('a','+'))

    相关文章

      网友评论

          本文标题:Day003_笔记总结

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