一、int類型python
int類型的數據是沒有長度限制的,它的最大長度只與計算機的內存有關。git
1 bin(i) 返回二進制表示結果, 2 hex(i) 十六進制, 3 int(i) 整數(若是x是浮點數就會返回其整數部分, 4 oct(i) 八進制, 5 int(s,base)將字符串轉換爲整數.冪能夠用**實現(10**5,2**4).內置的float與str類型都支持到整數的轉換。 6 chr() 將數字轉換成字符, 7 ord() 將字符轉換成ASCII碼; 8 round() 函數對值進行四捨五入。整數和浮點數相加結果是浮點型。
二、簡單比較兩個float是否相等api
def equal_float(a,b): return abs(a-b)<=sys.float_info.epsilon
三、複數ide
複數的表示需在虛部後加一個j,如z=3.5+2j,其中實部和虛部可分別用z.real,z.imag取得。專用函數z.conjugate()能夠反轉虛部的符號。函數
四、Decimal,編碼
特色:精度高,但計算速度比float慢,使用前需引進模塊。spa
a=decimal.Decimal(5555)或a=decimal.Decimal("555.555")code
五、字符串orm
對字符串內使用的單引號或者雙引號,若是與最外層的相同則須要進行轉義,若是不一樣則能夠直接使用。對象
字符串轉義:
\newline 忽略換行,
\\ 反斜槓,
\' 單引號,
\" 雙引號,
\a 蜂鳴,
\b 退格,
\f 走紙,
\n 換行,
\r 回車,
\t 製表符。
六、負索引
即從-1開始從末尾倒數。
七、字符串的分片操做(seq[start:end];seq[start:end:step]
seq[start:end],表示兩個位置之間的字符(區間爲左閉右開,即[start,end)),無start則默認爲0,無end則默認爲len(seq),
seq[:]表示整個字符串。
字符串的追加可用+=,但並非特別高效,鏈接大量字符串可用seq.join()。
"xx".join(seq)則能夠將xx依次插入每兩個seq元素之間,造成一個str。
seq[star:end:step]與前一種相似,可是step不能爲空,且必須大於0,即步長。
八、reversed()反轉一個集合內元素的排列順序。
九、字符查找(index(),find())
find()找到目標時返回該字符在字符串中的索引位置,沒找到則返回-1;index()找到時也返回索引位置,沒找到則產生一個ValueError異常。函數前邊加r的(rfind(),rindex())表示逆序開始查找。
find()、index均可接受至多兩個可選參數(起點、終點):
str.find("m",6)=str[6:].find("m")
str.find("m",2,5)=str[2:5].find("m")
相似的函數還有:str.count(),str.endswith(),str.startswith()。
十、字符串分割partition(),rpartition(),split(),strip()
patition()將字符串分割爲三段:關鍵字前,關鍵字,關鍵字後.
split()將字符串以關鍵字爲分割點進行分割(結果不包含關鍵字)
strip()將字符串的首尾空格去掉,若是給了參數,就去掉首尾的參數,但參數必須是位於字符串的首尾,否則去不掉.分支函數lstrip(),rstrip()爲去掉左邊或者右邊的末端空格或字符.
十一、字符串的格式化 str.format()
1>"a{0}cd{1}".format("one","two")。被替換字符用{}包圍,用數字格式表示時0,1依次表示format內給定參數的索引位置。如要想在替換後的字符串中出現花括號,則需在原字符串中進行復寫或三寫({{0}},{{{1}}})。對於3.1以上的python,{}內能夠爲空,不寫索引值,系統會默認次數下去爲空的{}索引值爲0,1,2,3...
這種替換方法還可用來解決字符串與數字鏈接會產生TypeError異常的問題。
2>"a{who} was {0}".format(12,who="she") 字段名替代索引方法如左,但若是同時存在字段名和索引時,索引位置須放置在索引以前,如樣例中不能將0改爲1而把對應的參數12放在第二位。
3>對於一個集合(如:stock=["a","b","c"])可用:"{0[1]}{0[2]}".format(stock)
對於一個字典(如d=dic(a1="xx",a2="xxx")可用:"{0[a1]}{0[a2]}".format(d) 或者:"{a1}{a2}".format(**d) **在此處爲映射拆分操做符,對於已經賦值的變量也可結合內置的locals()函數以類似的方法達成替換,c="xx";d=34;"{c}ad{d}".format(**locals())。
4>格式轉換(r,s,a)用法:{0!r}
s-強制使用字符串格式,r-強制使用表象形式,a-強制使用表象形式(只限於ASCII字符)
5>字符串格式規約(樣:"{0:*>10.25}"):以冒號開始,接着爲充填字符(*),而後爲對齊字符(>右對齊,<左對齊,^居中對齊),10爲最小寬度,25爲最大寬度,最大寬度前用"."引導。全部參數都是可選的,但若是指定了充填符就必須同時指定一個對齊符(對齊符可單獨出現,結果以空格充填)
>整數格式規約(樣:"{0:0^+#15X):與字符的大體相同,+爲可選,位於對齊與最小寬度之間(表示必須輸出正負號,還有-表示只用輸出負號,空格表示正數輸出空格負數輸出負號),#位於最小寬度以前,用於輸入當前數據類型,#也能夠用0替換(表示用0進行充填,此充填法可不指定對齊方式);X表示輸出數據轉換類型(b二進制,o八進制,x小寫十六進制,X大寫十六進制,d十進制,c輸出整數對應的Unicode字符,n表示場所敏感輸出方式: import locale
locale.setlocale(locale.LC_ALL,"C") #C爲場所,也可用en_US.UTF-8替換
c="{0:n}".format(55)
)。整數規約沒有最大寬度!
>小數格式規約:與整數同樣,但能夠在最小寬度後加個以"."引導的整數來限定小數的位數。數據類型轉換處可用:e,E指數形式,f標準浮點形式,g一般格式,%百分數形式。
tips:輸出平方的上標 N\{SUPERSCRIPT TWO},右箭頭:\N{RIGHTWARDS ARROW}
十二、字符串操做函數
1 s.strip(chars)見上; 2 s.find(x,start,end)見上; 3 s.index(x.start,end)見上; 4 s.format()見上; 5 s.partition(x)見上; 6 s.replace(x,y,n) 用y替換x,可選n表示最多替換n次; 7 s.split(x,n) 最多分割n次,s.rsplit()從右邊開始分割; 8 s.splitlines(f) 返回在行終結符處進行分割產生的列表,並剝離行終結符(除非f爲True); 9 s.count(x,start,end) 計數; 10 s.join(seq) 返回seq的每一個項都以s鏈接起來的結果,s能夠爲空; 11 s.capitalize() 將字符串首字母大寫; 12 s.lower() 將s中的字符變爲小寫; 13 s.upper() 返回大寫化版本; 14 s.title() 將每一個單詞的首字母大寫; 15 s.swapcase() 將大寫變小寫,小寫變大寫; 16 s.islower() 若是s至少有一個可小寫的字符且全部可小寫的字符都是小寫則返回True; 17 s.isupper() 若是s至少有一個可大寫的字符且全部可大寫的字符都是大寫則返回True; 18 s.istitle() 若是s是一個非空的首字母大寫字符串,則返回True; 19 s.zfill(w) 返回s的副本,若是比w短,從開始處用0補充,使長度和w同樣; 20 s.center(width,char) 返回一個以s爲中心長度爲width的字符串,若是有空餘則用可選參數char或空格進行填充,如width<len(s),則返回整個s; 21 s.ljust(width,char) 同上,左對齊; 22 s.rjust(width,char) 同上,右對齊; 23 s.encode(endoding,err) 返回一個bytes對象,該對象使用默認的編碼格式或指定的編碼格式來表示該字符串,並根據可選的err參數處理錯誤; 24 s.endswith(x,start,end)若是以x結尾則返回True,不然返回False; 25 s.startswith(x,start,end)若是以x開始則返回True; 26 s.expandtabbs(size) 返回s的一個副本,其中的製表符使用8個或指定數量的空格替換; 27 s.isalnum() 判斷是否全是字母數字且非空; 28 s.isalpha() 判斷是否全是字母且非空; 29 s.isdecimal() 判斷是否每一個字符都是Unicode的基數爲10的數字; 30 s.isdigit() 判斷是否每一個字符都是ASCII數字; 31 s.isidentifier() 判斷是否不爲空 32 s.isnumeric() 判斷是否每一個字符都是數值型的Unicode字符且非空; 33 s.isprintable() 判斷是否每一個字符都是可打印的且非空; 34 s.isspace() 判斷是否每一個字符都是空白字符; 35 s.maketrans() 36 s.translate()