字符串前加 f
1、作用:
字符串格式化(python 3.6 新增,類似於變量內插賦值
),格式化的字符串文字前綴爲"f",類似str.format()
。包含由花括號包圍的替換區域。替換字段是表達式,在運行時進行評估,然後使用format()協議進行格式化。和之前的format字符串格式化差不多,但是用起來更簡化
2、例子:
Python 3.6.5
>>> var = "python3.6"
>>> print(f"這是{var}以上版本中的新特性")
這是python3.6以上版本中的新特性
python3.6以下的版本是沒有這個特性的,下面以Python3.5.2 爲例:
Python 3.5.2
>>> var = "python3.6"
>>> print(f"這是{var}以上版本中的新特性")
File "<stdin>", line 1
print(f"這是{var}以上版本中的新特性")
^
SyntaxError: invalid syntax
字符串前加 b
1、作用:
python3.x裏默認的str(字符串)是unicode編碼的。
b前綴代表的就是bytes ,就是把python3.x中的字符串類型轉換成bytes類型。
python2.x裏, 字符串就是bytes類型,因此b前綴沒什麼具體意義, 只是爲了兼容python3.x的這種寫法
Python的默認編碼是ASCII編碼,
2、例子:
在python3中:
Python 3.6.5
>>> import hashlib
>>> m = hashlib.md5()
>>> m.update("hello world")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Unicode-objects must be encoded before hashing # 錯誤信息提示必須編碼
>>> m.update(b"hello world")
>>> m.digest()
b'^\xb6;\xbb\xe0\x1e\xee\xd0\x93\xcb"\xbb\x8fZ\xcd\xc3'
>>>
字符串前加 r
1、作用:
聲明後面的字符串是普通字符串,相對的,特殊字符串中含有:轉義字符 \n \t 什麼什麼的。這樣轉義符就會被當成普通的字符串,而不會起作用。
2、例子:
>>> print("hello world\n\n !")
hello world
!
>>> print(r"hello world\n\n !")
hello world\n\n !
字符串前加 u
1、作用:
後面字符串以 Unicode 格式 進行編碼,一般用在中文字符串前面,防止因爲源碼儲存格式問題,導致再次使用時出現亂碼。
2、例子:
u"哎呦,不錯!"