数据类型-字符串

字符串(不可变类型):   python3   默认编码为utf-8    而其中字符串用unicode编码存储在内存

 info = ”guohan“      info 1= "1"

公共功能

  1.索引:info[0] = ”g“

  2.切片:info【1:】 = ”uohan“

  3.步长:info【::2】 = ”goa”

  4.for循环:for i in info:

  5.删除:字符串是不可变类型所以其内部字符不可被删

  6.修改:同理  (5,6 由于不可变当有改动时不再是info 而是其他变量接收变成新字符串)

  7.len:    len(info)>>>6

独有方法:

  1.upper/lower:  v = info.upper()/lower()-> v = "GUOHAN"/"guohan"

  2.isdecimal(判断是否为十进制数字):  print(info1.isdecimal())->True    若info = “二”则为false

  3.encode(编码转换):  encode:字符串转二进制  info.encode(utf-8)  将info根据utf-8编码转换成二进制

              decode:二进制转换成字符  如:v= b“xe4....."  v.decode(utf-8) = ”你好“

  4.replace(替换):格式:info.replace(old,new,num(几次的意思)) num不指定则是全部替换

           info= ”guoohan“  info.replace(o,n,1)->"gunohan"

  5.split(分割 ):格式:info.split(指定字符,num)      num为分割次数  分割成列表(里面不含指定字符)

         info = "guo2han"  info.split("2")->[”guo","han"]

         info= ”guo2h2an"    info.split("2",1)->["guo","h2an"]

  6.partition(将指定字符串分成3份):分割成元组(前面,指定字符,后面)  info.partition("o")->('gu','o','han')

  7.strip(去除两边空白,换行符,制表符):  info= “    guohan  ”  info.strip()->"guohan"

  8.join(连接):  join括号里面的东西不一定是字符串但.前面必须是,且最后连接成的东西一定是字符串

          v = "-"   a = ["g","o"]   v.join(a)->"g-o"

字符串格式化:

 %占位符:使用时注意占位符和变量类型匹配

    %s>>>str  %d>>>int  %f>>>folat  < 左对齐  > 右对齐

    1.输出  name = "guohan"  age = "20"

         print("我是%s,年龄%d"%(name,age))

    2.格式化输出  .nf%保留n位小数

 format方法:

    1.输出  print("我是{0},年龄{1}".format(name,age))

    2.格式化输出:  {:.nf}  print("{:.2f}".format(1.0/3))>>>0.33

             {:m<nd}   控制数据输出宽度补齐数字  n为宽度,m为补齐的数字左对齐

               {:n%}  用百分号表示后保留n位

  f-string方法:

    1.输出  print(f“我是{name},年龄{age}")

    2.格式化输出  {num:.nf}  num = 2.3  print(f"{num:.2f}")>>>2.30

            {num:0nd}  宽度n,不足补0   

            s = ”hello“

            print(f”{s:<-10}") 左对齐宽度为10,用-补齐 

字节类型(bytes类型):py3中 使用encode()方法将以unicode编码的字符串按照指定编码进行编码后返回的都是bytes类型

  特点:前面有b

v = "郭晗"
v1 = v.encode('utf-8')
print(v1,type(v1))
>>>b'\xe9\x83\xad\xe6\x99\x97' <class 'bytes'>

v = "guohan"
v1 = v.encode('utf-8')
print(v1,type(v1))
>>>b'guohan' <class 'bytes'>

 

py3str = py2unicode类型

py3bytes = py2str

 

字符串类型一般用于内存中做数据操作

字节类型一般用于数据存储和网络传输

posted @ 2025-09-28 21:35  guohan  阅读(70)  评论(0)    收藏  举报