python3中只有一種能夠儲存文字資訊的資料型別,就是str(string,子字串)。它是不可便序列,儲存的是unicode碼位(code point)。這是與python2的主要區別,python2用str表示位元組字串,這種型別在python3中用bytes物件來處理(但處理方式並不完全相同)。
python中的字串是序列。但是字串與其他容器型別在細節上有乙個很重要的差異。字串可以儲存的資料型別有非常明確的限制,就是unicode文字。
bytes以及可變的bytearray與str不同,只能用位元組作為序列值,即[0, 256)
範圍內的整數。
位元組也被單引號、雙引號或三引號包圍,但必須有乙個b或b字首
注意,python語法中沒有bytearray字面值
unicode字串中包含無法用位元組表示的"抽象"文字。因此,如果unicode字串沒有被編碼為二進位制資料的話,是無法儲存在磁碟中或通過網路傳送的,將字串物件編碼未位元組序列的方法有兩種:
利用類似方法可以將bytes表示的二進位制資料轉換成字串:
python字串是不可變的。位元組序列也是如此,基於此,每當需要修改字串時,都需要建立乙個全新的字串例項。bytearray則是bytes的可變版本,不存在這樣的問題。
在字串拼接時,由於字串是不可變的,拼接任意不可變序列都會產生乙個新的序列物件
str.join()接受可迭代的字串作為引數,返回合併後的字串,由於這是乙個方法,實際的做法是利用空字串來呼叫它。
s =
"".join(substrings)
還可這樣
','
.join(
['welcome'
,'to'
,'moddemod'
])
output:
welcome,to,moddemod
如果事先知道字串的數目,可以用正確的字串格式化方法來保證字串拼接的最佳可讀性。字串格式化可以用str.format()方法或%運算子。 字串 字元和位元組
字串是由乙個個字元組成的,每個字元又由乙個或多個位元組來表示,每個位元組又由8個bit位來表示。字元 計算機中使用的文字和符號,比如1 2 a b 等等。位元組 byte 一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。不同編碼裡,字元和位元組的對應關係不同 asci...
字串 字元和位元組
字串就是一串零個或多個字元,並且以乙個位模式為全0的nul位元組結尾。nul位元組是字串的終止符,但是它本身不是字串的一部分,所以字串的長度並不包括nul位元組。標頭檔案string.h包含了使用字串函式所需的原型和宣告。字串的長度就是它所包含的字元個數。strlen可求字串長度,返回值是size ...
字串 字元 位元組
字串就是一串零個或多個字元,並且以乙個位模式為全0的nul位元組結尾。nul位元組是字串的終止符,但它本身並不是字串的一部分,所以字串的長度並不包括nul字元。複製字串 char strcpy char dst,char const src 這個函式把引數src字串複製到dst引數。如果引數src和...