python字符串前的字母

2020-04-26  本文已影响0人  奇奇乌布里

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
上一篇 下一篇

猜你喜欢

热点阅读