python字符串 字节串

文章目录

  • 字符串 str
    • 字符串方法:增
      • 使用+
      • join
      • 字符串的格式化
        • 利用%格式化
        • 用format格式化
      • strip
      • replace
      • upper
      • lower
      • capitalize
      • title
      • count
      • find
      • type
      • isdigit
      • isalpha
      • startswith
      • endswith
      • isupper
      • islower
    • split
    • 转义字符
      • 转义字符用法
      • 原始字符串
    • None
  • 字节串

字符串 str

-用来表示一串文字信息
-表示:单引号,双引号,三引号(三单引号或三双引号,能够括起多行信息)
-单双引号交错使用

a = 'hello world'
print(a)
#用引号表示  
''

字符串方法:增

使用+

-str1+str2+str3

a = 'hello '
b = 'world'
c = a + b
print(c)  #  'hello world'

join

a="".join("sdfa")
print(a)  #`sdfa`
a="ew"
b=a.join("1234")
print(b)  #`1ew2ew3ew4`

字符串的格式化

-把字符串按照一定格式打印或者填充
-格式化有两种表示方法
-利用百分号(%)
-利用format函数

利用%格式化

-在字符串中,利用%表示一个特殊的含义,表示对字符进行格式化
-%d:此处应该放一个整数
-%s:此处应该放一个字符串
-%f:此处应该放一个浮点数

print("i love %s"%"u")  #'i love u'
a = "i love %s"
print(a%"u")  #'i love u'
#"%s %s"%(str1,str2)
#%s是占位符
a="hi"
b="girl"
c="%s %s"%(a,b)
d="%s,%s"%(a,b)
print(c)  #'hi girl'
print(d)  #'hi,girl'
用format格式化
-直接用format函数进行格式化
-推荐使用这种方法
-在使用上,用{}代替%,后面用format带参数完成
-"{}{}{}".format(obj1,obj2,obj3)
b="come"
c="on"
d="baby"
a="{} {} {}".format(b,c,d)
print(a)  `comeonbaby`
a1="{1} {2} {0}".format(d,b,c)
print(a1)  #`come on baby`
a2="{n0} {n1} {n2}".format(n0=b,n1=c,n2=d)
print(a2)  #`come on baby`

strip

-strip()是清除字符串首尾指定的字符或字符序列,默认是清除字符串两侧的空格或换行符
-lstrip()是清除字符串左侧的空格
-rstrip()是清除字符串右侧的空格
a=" hi girl!! "
b=a.strip()
print(b)  #`hi girl!!`
c=a.lstrip()
print(c)  #`hi girl!! `
d=a.rstrip()
print(d)  #` hi girl!!`
e=a.strip(!)
print(e)  #` hi girl `

replace

-把字符串中的字符或字符串替换新的字符或字符串,如果指定第三个参数max,则替换从左至右不超过max次
a="hi girl"
b=a.replace("hi","hello")
print(b)  #`hello girl`
c=a.replace("i","a")
print(c)  #`ha garl`

upper

-将字符串的小写字母全部改成大写字母,只能改字母,不能改数字
a="sdfgSfs"
b=a.upper()
print(b)  #`SDFGSFS`

lower

-将字符串的大写字母全部改成小写字母,只能改字母,不能改数字
a="sfSFDgsdf"
b=a.lower()
print(b)  #`sfsfdgsdf

capitalize

-字符串首字母改成大写
a="hello girl"
b=a.capitalize()
print(b)  #`Hello girl`

title

-将字符串标题化,即单词首字母大写,其余字母小写
a="hi GIRL"
b=a.title()
print(b)  #`Hi Girl`

count

-与列表方法相同,统计元素在str出现几次
a="sdfgwfsdf"
b=a.count("s")
print(b)  #2

find

-查找元素索引,没查到返回-1,查到返回元素索引位置
a="sdfgsdfwsf"
b=a.find("f")
c=a.find("n")
print(b)  #2
print(c)  #-1

type

-查看字符串类型
a="234"
type(a)=str

isdigit

-查看字符串是否是数字
a = "hello world"
b = a.isdigit()
print(b)  #false

isalpha

-查看字符串是否是字母
a = "hello world"
b = "helloworld"
c = a.isalpha()
d = b.isalpha()
print(a)  #false 因为中间有空格
print(b)  #true

startswith

-判断字符串是否以...为开头
a = "sdfsdesf"
b = a.startswith("sdf")
print(b)  #true

endswith

-判断字符串是否以...为结尾
a = "sdfsdesf"
b = a.startswith("f")
print(b)  #true

isupper

-判断字符串是否全是大写字母 	
a = "DFfgd" 	
b = a.isupper 	
print(b)  #false

islower

-判断字符串是否全是小写字母  
a = "DFfgd"  
b = a.islower  
print(b)  #false 

split

  • split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个子字符串,参数默认为-1,即分隔所有
str = "hahaha xixixi\nhehehe heiheihei"
print(str.split())  #以空格为分隔符,包括\n
#['hahaha', 'xixixi', 'hehehe', 'heiheihei']
print(str.split(' ',1)) #以空格为分隔符,分割一次
#['hahaha', 'xixixi\nhehehe heiheihei']
print(str.split(' ',2)[-1])	#分割两次,取分割后的最后一个字符串
#heiheihei

转义字符

-用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键
-借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个或多个字符表示已经不是原来的意思了,进行了转义

转义字符用法

-\\	反斜杠
-\`	单引号
-\"	双引号
-\	续航符
如:a = "lov\
       e"
       print(a)  #love
-\a	响铃,发出声音
-\b	退格(backspace)
-\e	转义
-\000 	空
-\v	纵向制表符
-\t	横向制表符
-\r	回车
-\f	换页
-\oyy		八进制数,yy代表的字符
-\xyy		十进制数,yy代表的字符
-\other	其他的字符,以普通格式输出

原始字符串

-有时不想让字符串转义,只想显示字符串原本的意思,用R或r
a = "r`\t\r`"
print(a)  #`\t\r`

None

-表示什么都没有
-如果函数没有返回值,可以返回None
-用来占位置

字节串

  • bytes 类型,用于代表字节串
  • 字符串(str)由多个字符组成,以字符为单位进行操作;字节串(bytes)由多个字节组成,以字节为单位进行操作
  • bytes 和 str 支持的所有方法都基本相同,bytes 也是不可变序列(可变序列:列表,字典,不可变序列:元组,字符串)
  • bytes 以字节(二进制格式)序列来记录数据,字符串可以转换成字节串;反过来,字节串也可以恢复成对应的字符串。
  • bytes 保存的就是原始的字节(二进制格式)数据,bytes 可用于在网络上传输数据,也可用于存储各种二进制格式的文件,比如图片、音乐等文件
  • 字符串转换成 bytes 对象,有如下三种方式:
    • 如果字符串内容都是 ASCII 字符,则可以通过直接在字符串之前添加 b 来构建字节串值
    • 调用 bytes() 函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集
    • 调用字符串本身的 encode() 方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集

# 字符串转字节
a = '小哥最帅'
b = a.encode('utf8') #utf-8 亦可
b1 = bytes(a, encoding='utf-8')
#字节转字符串
c = b'\xe5\xb0\x8f\xe5\x93\xa5\xe6\x9c\x80\xe5\xb8\x85'
d = c.decode('utf-8')   #utf8 亦可
e = b'xiaogezuishuai'
print(b)
print(b1)
print(d)
print(e[2])
print(e[2:5])
#b'\xe5\xb0\x8f\xe5\x93\xa5\xe6\x9c\x80\xe5\xb8\x85'
   b'\xe5\xb0\x8f\xe5\x93\xa5\xe6\x9c\x80\xe5\xb8\x85'
   小哥最帅
   97	#这里的 97 是 a 的 ascii 值
   b'aog'

你可能感兴趣的:(python)