Python3 經常使用數據類型語法

 

一、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()
相關文章
相關標籤/搜索