b'嫂子连我也不认得了不是我是谁'
b
表示:后面是一个bytes类。py2里的str是bytes类,py3里的str是unicode类,前面加个b强制转为bytes
# bytes与unicode的区别
>>> a = b'aabb'
>>> print(a)
b'aabb'
>>> b = 'aabb'
>>> print(b)
aabb
# 相互转换关系
>>> print(a.decode('utf8'))
aabb
>>> print(b.encode('utf8'))
b'aabb'
>>>
r'嫂子连我也不认得了不是我是谁\t\n'
r
表示:后面的是一个普通字符串,其中的\
不识别为转义字符,直接识别为一个斜线,相当于写的是\\
>>> a = 'name\tage\tothers' # 转义字符
>>> print(a)
name age others
>>> b = r'name\tage\tothers' # 非转义字符
>>> print(b)
name\tage\tothers
>>> c = 'name\\tage\\tothers' # 转义字符
>>> print(c)
name\tage\tothers
u'嫂子连我也不认得了不是我是谁'
u
表示后面的用unicode编码,避免出现中文乱码(不过py3里已经基本不存在中文乱码了 )
>>> a = '不是我是谁'
>>> print(a)
不是我是谁
>>> b = u'不是我是谁'
>>> print(b)
不是我是谁
f'嫂子连{name}也不认得了不是我是谁'
f
表示后面的{}
需要做变量解析替换,用py代码中叫name
的变量的值替换{name}
这一坨
>>> a = 'win'
>>> b = f'pom ce {a}, ben nagsegsar ti mamai hab'
>>> print(b)
pom ce win, ben nagsegsar ti mamai hab
网友评论