00.python字串:乙個有序的字串的集合,用來儲存和表現給予文字的資訊。
01.常見字串常量和表示式
s=' ' 空字串
s="spam's" 雙引號和單引號相同
s=『s\n\ta\x00m』 轉移序列
s=""""" 三重引號字串塊
s=r'\temp\spam' raw字串
s=b'spam'
s=u'spam'
s1+s2 合併
s * 3 重複
s[i] 索引、分片、求長度
s[i:j]
len(s)
"a %s parror" %kind 字串格式化表示式
"a parrot".format(kind) 字串格式化方法
s.find('pa') 字串方法呼叫:搜尋
s.rstrip() 移除空格
s.replace('pa', 'xx') 替換
s.split(',') 用佔位符分隔
s.isdigit() 內容測試
s.lower() 小寫轉換
s.endswith('spam') 結束測試
s.encode('latin-1') unicode編碼等
for x in s: print(x) 迭代,成員關係
'spam' in s
[c * 2 for c in s]
map(ord, s)
02.零(空)字串不會像c語言那樣去結束乙個字串。相反,pyhont在記憶體保持了乙個整個字串的長度和文字。事實上,python沒有字元會結束乙個字串。這裡有乙個完全絕對的二進位制轉義字元編碼的字元編碼的字串
03.path = r'c:\new\text.data'
r:代表raw,代表正規表示式
04.三重引號編寫多行字串,當它出現在檔案的特定地點時,被當作注釋一樣的字串常量.這並非只能使用三重引號的文字塊,但是它往往是可以用作多行注釋的。
05.myjob = "hacker"
06.07.具有數學思想的讀者有時會實現這裡有些不對稱:最左側的元素的偏移為0,而最右側的元素的偏移為1.唉,在python中是沒有所謂-0這樣的偏移啊。
08.09. s[i:j:k]--i:偏移, j:偏移範圍,k:步進
10.為了去掉換行字元常常土建採用line.rstrip方法,因為這個呼叫會留下沒有換行字元那行的最後乙個字元,二這在一些文字編輯器工具中很常用的。
int():將字串轉換為數字表示式形式
str():將數字轉換為字串表示式形式
repr():也能夠將乙個物件轉換為其字串形式,然而這些返回的物件將作為**的字串,可以重新建立物件。對於字串來說,如果是使用print語句進行顯示的話,其結果需要引號括起來。
11.它將會執行乙個包含了python表示式**的字串,並能夠將乙個字串轉換為任意型別的物件。
12.字串還提供了一系列的方法去實現更複雜的文字處理任務。方法就是與特定的物件相關聯在一起的函式。從技術的角度來講,他們複數與物件的屬性,二這些屬性拗不過是寫可呼叫函式罷了。
函式也就是**包,方法呼叫同事進行兩次操作(一次獲取屬性和一次函式呼叫)。
屬性讀取:具有object.attribute格式的表示式可以理解為「讀取object物件的屬性attribute的值」。
函式呼叫表示式:具有函式(引數)格式的表示式意味著"呼叫函式**,傳遞零更多都好隔開的引數物件,最後返回函式的返回值"。
13.我們知道字串是不可變的,所以不能再原處直接對齊進行修改。
14.字串的splite方法將乙個字串分割為乙個子字串的列表,已分隔符字串為標準。
15.標準庫模組:名為string,其中包含的函式大約相當於目前字串物件方法集。
16.字串格式化表示式
17.格式化字串:
a.在%操作符的左側放置乙個需要進行格式化的字串,這個字串帶有乙個或多個嵌入的轉換目標,都以%開頭。
b.在%操作符右側放置乙個物件,這些物件將插入到左側想讓python進行格式化字串的乙個轉換目標的位置上去。
18.注意到所有目標左側都是%s,這就表示要把他們轉換為字串。由於物件的每個型別都可以轉換為字串,每乙個與%s一同參與操作的物件型別都可以轉換**。
19.字串格式化**
s 字串(或任何物件)
r s,但使用repr,而不是str
c 字元
d 十進位制(整數)
i 整數
u 無號(整數)
o 八進位制整數
x 十六進製制整數
x x,但列印大寫
e 浮點指數
e e,但列印大寫
f 浮點十進位制
f 浮點十進位制
g 浮點e或f
g 浮點e或f
% 常量%
20.轉換目標的通過結構看上去是這樣的:
%[(name)][flags][width][.preicsion]typecode
21.基於字典的字串格式化同時也允許左邊的額轉換目標來引用右邊字典中的鍵來提取對應的值。
22.23.它和格式化表示式有很大程度的重合,並且有時比格式化表示式需要更多的**,且在高階用途的時候很複雜。正因如此,目前在表示式和方法呼叫之間沒有最佳使用建議,所以大多數程式猿只需對這兩種方案有基本的理解
24.本質上,字串也可以是建立乙個臨時字串的常量,並且任意的物件型別都可以替換:
25.格式化字串中的方括號可以指定列表(及其他的序列)偏移量以執行索引,但是,只有單個的正偏移才能在格式化字串的語法中有效。
26.新增具體格式化:另一種%表示式類似的是,可以在格式化字串中新增額外的語法來實現更具體的層級。
27.fieldname是指定引數的乙個數字或關鍵字,後面跟著可選的"name"或"[index]"成分引用
conversionflag可以是r,s,或者a分別是在該值上對repr、str或ascii內建函式的依次呼叫。
formatspec指定了如何表示該值,包括字段寬度、對齊方式、補零、小數點精度等細節,並且以乙個可選的資料型別編碼結束。
28.冒號後的formatspec組成形式上的描述如下:
[fill]align[sign][#][0][width][.precision][typecode]
align可能是<、>、=或^,分別表示左對齊、右對齊,乙個標記字元後的補充或居中對齊。只帶有{}的格式化字串,它從引數列表動態地獲取值(和格式化表示式中的*很相似)。
29.字串格式化是把整數格式化為指定的進製的某些內建函式的替代方法:
30.為什麼用新的格式化方法:
*擁有%表示式所沒有的一些額外功能、
*可以到操作符會有乙個更容易記憶的方法名
*不支援用於單個和多個替代值大小寫的不同語法
31.python中有三個主要型別(一級操作)的分類:
數字:(整數、浮點數、二進位制,分數等)
序列:字串列表、元組
對映:字典
32.一般來說,不可變型別有某種完整性,保證這個物件不會被程式的其他部分改變。對於新人來說如果不知道這個有什麼要緊的話。
python 學習筆記(07)
迴圈語句控制 break continue pass exit break 跳出本次迴圈,但不結束程式 continue 中止本次迴圈,下面的語句不再執行 pass 空語句,佔樁 exit 退出本程式 usr bin python test for i in range 1,11 if i 2 pr...
python 學習筆記(07)
迴圈語句控制 break continue pass exit break 跳出本次迴圈,但不結束程式 continue 中止本次迴圈,下面的語句不再執行 pass 空語句,佔樁 exit 退出本程式 usr bin python test for i in range 1,11 if i 2 pr...
python學習手冊學習筆記(一)
第三章 如何執行檔案 避免命令列執行時閃退 加input 到最後 匯入 import 從本質上講,就是載入另乙個檔案。把其中乙個模組檔案設計成主檔案。屬性 繫結在特定物件上的變數名 比如乙個模組 讀取模組檔案的變數名 import from reload。從模組檔案中獲得變數名 from myfil...