駐留機制:僅保留乙份相同且不可變字串的方法,不同的值被存放在字串的駐留池中
符合駐留機制(在互動模式下)的幾種情況:
字串只在編譯時駐留,而非執行時
[-5,256]之間的整數數字
在互動模式下 sys 模組中的 intern 方法可以強制 2 個字元指向同乙個物件
pycham 對字串的駐留進行了優化處理,即使在 python 中不滿足駐留機制,但是使用 pycharm 時的記憶體位址是一致的
駐留機制的優缺點
同時字串也支援很多方法,可以用來對字串進行處理。
s[0]
s[1]
s[2]
s[3]
s[4]
s[5]
s[6]
s[7]
s[8]he
llo,
llos[-9]
s[-8]
s[-7]
s[-6]
s[-5]
s[-4]
s[-3]
s[-2]
s[-1]
使用join()
連線:一般連線
使用*
連線:重複連線
比較規則:
比較原理
從小到大的順序為:空字元、數字字元、大寫字母、小寫字母
常見格式化說明符:
格式說明符
含義%%
輸出百分號
%d輸出十進位制數字
%c輸出chr(num)
%s
輸出字串
%o/o
輸出8進製
%x/%x
輸出16進製制
%e/%e
以科學計數法輸出浮點數
%[w] [.p]f
以小數輸出浮點數
長度為 w(預設為0)
小數部分有 p 位(預設為 6 位)
常見格式化輔助指令:
符號功能
m定義輸出的寬度。若變數值的輸出寬度超過m,則按實際寬度輸出
-在指定寬度內輸出值左對齊
+在輸出的正整數前面顯示正好(預設不顯示)
#在輸出的八進位制數前面新增「0o」,十六進製制前面新增「0x」或者「0x」
0在指定寬度內輸出值時左邊的空格用0填充
-n對於浮點數指定輸出時小數點後保留的位數(四捨五入),對於字串指定輸出前n個字元
示例:
x=123.456789
print("%f;%12.3f;%-12.3f;%012.3f"%(f,f,f,f)) #輸出小數點形式表示的浮點數
print("%e;%12.3e;%-12.3e;%012.3e"%(f,f,f,f))
123.45678; 123.457;123.457;00000123.457
1.234568e+02 1.235e+02;1.235e+02; 0001.235e+02
常用格式控制符:
符號功能
d輸出十進位制數
b輸出二進位制數
o輸出八進位制數
x或x輸出十六進製制數
c輸出以整數為編碼的字元
f或f以小數形式的浮點數
e或e以科學計數法的浮點數
%輸出百分號
例如:
x=123.456789
print(";".format(f,f))
123.456789;123.457
編碼與解碼的方式
解碼:將二進位制資料轉換為字串型別
例如:
s = 'hello,world'
byte = s.encode(encoding='utf-8')
print(byte)
str = byte.decode(encoding='utf-8')
print(str)
b'hello,world'
hello,world
常見編碼解碼格式
編碼和解碼的型別必須一致
Python第三章 字串
第三章 字串 3.1 基本字串操作 python的字串和元組差不多,是不可以進行改變的,如果想改變值,可以嘗試list序列化之後在進行修改。3.2 字串格式化 精簡版 字串格式化使用字串格式化操作符 這個名字還是很恰當的 即 來實現。基本用法例子 1.format hello,s.s enough ...
第三章 字串
3 1 基本字串操作 字串是不可變的。類似以下的分片賦值是不合法的 website 3 com 報錯 3.2 字串格式化 在 的左側放置乙個字串,而右側放置希望格式化的值。format hello,s,s enough for ya?values world hot print format val...
第三章 Lua字串
字串用於表示文字。lua語言中的字串既可以表示單個字元,也可以表示一整本書籍 在 lua語言中,操作100k或者1m個字母組成的字串的程式也很常見。lua語言中的字串是一串位元組組成的序列,lua核心並不關心這些位元組究竟以何種方式編碼文字。在lua語言中,字元使用8個位元位來儲存 eight bi...