python 的數字類型基本分爲 整數,長整數, 浮點數.javascript
整數: 類如 1, 11, 22, 36...java
長整數: 就是比較長的整數,自己仍是整數,
哈哈~ 類如 154864131, 548798466111131313...python浮點數: 簡單理解爲帶小數點的數, 類如 3.14, 0.78, 99.000000,9999.8888888...git
`.int(x base=None) `將X轉換爲一個整數, base爲按照多少進制進行轉換. `.float(x)` 將x轉換爲一個浮點數. `.complex(x)`將x轉換爲一個複數,實數部分爲x, 虛數部分爲0. `.complex(x, y)`將 x 和 y 轉換到一個複數,實數部分爲 x,虛數部分爲 y。x 和 y 是數字表達式 `.bit_lenght(x)` 當前數字二進制後,至少用幾位表示 `bin()`函數將十進制轉換爲二進制 `oct()`函數將十進制轉換爲八進制 `hex()`函數將十進制轉換爲十六進制
abs(x) 返回數字的絕對值,如abs(-10) 返回 10 ceil(x) 返回數字的上入整數,如math.ceil(4.1) 返回 5 cmp(x, y)若是 x < y 返回 -1, 若是 x == y 返回 0, 若是 x > y 返回 1。 Python 3 已廢棄 。使用 使用 (x>y)-(x<y) 替換。 exp(x) 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045 fabs(x) 返回數字的絕對值,如math.fabs(-10) 返回10.0 floor(x) 返回數字的下舍整數,如math.floor(4.9)返回 4 log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 log10(x) 返回以10爲基數的x的對數,如math.log10(100)返回 2.0 max(x1, x2,...) 返回給定參數的最大值,參數能夠爲序列。 min(x1, x2,...) 返回給定參數的最小值,參數能夠爲序列。 modf(x) 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。 pow(x, y) x**y 運算後的值。 round(x [,n]) 返回浮點數x的四捨五入值,如給出n值,則表明舍入到小數點後的位數。 sqrt(x) 返回數字x的平方根,數字能夠爲負數,返回類型爲實數,如math.sqrt(4)返回 2+0j
acos(x) 返回x的反餘弦弧度值。 asin(x) 返回x的反正弦弧度值。 atan(x) 返回x的反正切弧度值。 atan2(y, x) 返回給定的 X 及 Y 座標值的反正切值。 cos(x) 返回x的弧度的餘弦值。 hypot(x, y) 返回歐幾里德範數 sqrt(x*x + y*y)。 sin(x) 返回的x弧度的正弦值。 tan(x) 返回x弧度的正切值。 degrees(x) 將弧度轉換爲角度,如degrees(math.pi/2) , 返回90.0 radians(x) 將角度轉換爲弧度
pi 數學常量 pi(圓周率,通常以π來表示) e 數學常量 e,e即天然常數(天然常數)。
定義:它是一個有序的字符的集合,用於存儲和表示基本的文本信息,‘’或「」或‘’‘ ’‘’中間包含的內容稱之爲字符串sql
字符串的結構類型爲'...' "..." "'..."'api
字符串一旦建立,則不能夠修改數組
一旦修改或者拼接,都會形成從新生成字符串,則要賦予一個新的值bash
- 索引從0開始
- len獲取當前字符串中有幾個字符組成(計算長度)
- 切片,相似於區間 例如[0:4]則表示0、一、二、3 後面是不包含關係
- for循環 用法 for 變量名(每一個字符) in 字符串
range
幫助建立連續的數字,經過設置步長來指定不連續
在python2中,range(0,100) 會直接輸出0到99的數字
而在python3中,range(0,100)不會直接輸出數字,仍是原樣,則此時須要調用for循環進行輸出,省內存
capitalize()
將字符串的第一個字符轉換爲大寫
center(width, fillchar)
返回一個指定的寬度 width 居中的字符串,fillchar 爲填充的字符,默認爲空格。
count(str, beg= 0,end=len(string)) 返回 str 在 string 裏面出現的次數,若是 beg 或者 end 指定則返回指定範圍內 str 出現的次數 bytes.decode(encoding="utf-8", errors="strict") Python3 中沒有 decode 方法,但咱們可使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象能夠由 str.encode() 來編碼返回。 encode(encoding='UTF-8',errors='strict') 以 encoding 指定的編碼格式編碼字符串,若是出錯默認報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace' endswith(suffix, beg=0, end=len(string)) 檢查字符串是否以 obj 結束,若是beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,若是是,返回 True,不然返回 False. expandtabs(tabsize=8) 把字符串 string 中的 tab 符號轉爲空格,tab 符號默認的空格數是 8 。 find(str, beg=0 end=len(string)) 檢測 str 是否包含在字符串中 中,若是 beg 和 end 指定範圍,則檢查是否包含在指定範圍內,若是是返回開始的索引值,不然返回-1 index(str, beg=0, end=len(string)) 跟find()方法同樣,只不過若是str不在字符串中會報一個異常. isalnum() 若是字符串至少有一個字符而且全部字符都是字母或數字則返 回 True,不然返回 False isalpha() 若是字符串至少有一個字符而且全部字符都是字母則返回 True, 不然返回 False isdigit() 若是字符串只包含數字則返回 True 不然返回 False.. islower() 若是字符串中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是小寫,則返回 True,不然返回 False isnumeric() 若是字符串中只包含數字字符,則返回 True,不然返回 False isspace() 若是字符串中只包含空格,則返回 True,不然返回 False. istitle() 若是字符串是標題化的(見 title())則返回 True,不然返回 False isupper() 若是字符串中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是大寫,則返回 True,不然返回 False join(seq) 以指定字符串做爲分隔符,將 seq 中全部的元素(的字符串表示)合併爲一個新的字符串 len(string) 返回字符串長度 ljust(width[, fillchar]) 返回一個原字符串左對齊,並使用 fillchar 填充至長度 width 的新字符串,fillchar 默認爲空格。 lower() 轉換字符串中全部大寫字符爲小寫. lstrip() 截掉字符串左邊的空格 maketrans() 建立字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示須要轉換的字符,第二個參數也是字符串表示轉換的目標。 max(str) 返回字符串 str 中最大的字母。 min(str) 返回字符串 str 中最小的字母。 replace(old, new [, max]) 把 將字符串中的 str1 替換成 str2,若是 max 指定,則替換不超過 max 次。 rfind(str, beg=0,end=len(string)) 相似於 find()函數,不過是從右邊開始查找. rindex( str, beg=0, end=len(string)) 相似於 index(),不過是從右邊開始. rjust(width,[, fillchar]) 返回一個原字符串右對齊,並使用fillchar(默認空格)填充至長度 width 的新字符串 rstrip() 刪除字符串字符串末尾的空格. split(str="", num=string.count(str)) num=string.count(str)) 以 str 爲分隔符截取字符串,若是 num 有指定值,則僅截取 num 個子字符串 splitlines([keepends]) 按照行('\r', '\r\n', \n')分隔,返回一個包含各行做爲元素的列表,若是參數 keepends 爲 False,不包含換行符,若是爲 True,則保留換行符。 startswith(str, beg=0,end=len(string)) 檢查字符串是不是以 obj 開頭,是則返回 True,不然返回 False。若是beg 和 end 指定值,則在指定範圍內檢查。 strip([chars]) 在字符串上執行 lstrip()和 rstrip() swapcase() 將字符串中大寫轉換爲小寫,小寫轉換爲大寫 title() 返回"標題化"的字符串,就是說全部單詞都是以大寫開始,其他字母均爲小寫(見 istitle()) translate(table, deletechars="") 根據 str 給出的表(包含 256 個字符)轉換 string 的字符, 要過濾掉的字符放到 deletechars 參數中 upper() 轉換字符串中的小寫字母爲大寫 zfill (width) 返回長度爲 width 的字符串,原字符串右對齊,前面填充0 isdecimal() 檢查字符串是否只包含十進制字符,若是是返回 true,不然返回 false。
如:[11,22,33]、['wupeiqi', 'alex']markdown
須要記憶的魔法有:append(追加),extend(擴展),insert(插入)
append 原來值最後追加,數字,字符,列表均可以進行追加
li = [6,8,7,5,8] li.append(2) # 追加再最後 原來值再後面追加,所以不用賦予新的值 print(li) clear 清空列表 li = [6,8,7,5,8] li.clear() # 清空列表 print(li) copy 拷貝(淺拷貝) li = [6,8,7,5,8] v = li.copy() # 拷貝,淺拷貝 print(li) count 計數(計算元素出現的次數) li = [6,8,7,5,8] v = li.count(8) # 計算元素出現的次數 print(v) extend 擴展原列表,參數可迭代對象(數字不能擴展,數字不可迭代) li = [6,8,7,5,8] li.extend("b") # 擴展追加。 print(li) index 根據值獲取值的指引位置 li = [6,8,7,5,8] v = li.index(8) # 根據值獲取值的索引位置 print(v)<br><br>1 重複字符,獲取最左邊位置,便再也不尋找 insert 插入,也能夠根據指引位置插入元素 li = [6,8,7,5,8] li.insert(2,"b") # 前面參數指定索引,逗號分隔,加要插入的元素 print(li) pop 可索引刪除某個值,無索引則默認刪除最後一個值,賦予一個值也能夠得到被刪除的值 li = [6,8,7,5,8] v = li.pop(2) # 指定索引刪除,無索引則默認刪除最後一個值,也能夠獲取刪除的值 print(li) print(v) remove 刪除列表指定值,左邊優先 li = [6,8,7,5,8] li.remove(8) # 刪除列表指定值,從左優先 print(li) reverse 將當前列表進行反轉 li = [6,8,7,5,8] li.reverse() # 將當前列表進行反轉 print(li) sort 排序,有秩序的排序。 li = [6,8,7,5,8] li.sort(reverse=True) # 當反轉正確,則從大到小排序 print(li)
列表推導式提供了從序列建立列表的簡單途徑。一般應用程序將一些操做應用於某個序列的每一個元素,用其得到的結果做爲生成新列表的元素,或者根據肯定的斷定條件建立子序列。app
每一個列表推導式都在 for 以後跟一個表達式,而後有零到多個 for 或 if 子句。返回結果是一個根據表達從其後的 for 和 if 上下文環境中生成出來的列表。若是但願表達式推導出一個元組,就必須使用括號。
1 >>> vec1 = [2, 4, 6] 2 >>> vec2 = [4, 3, -9] 3 >>> [x*y for x in vec1 for y in vec2] 4 [8, 6, -18, 16, 12, -36, 24, 18, -54] 5 >>> [x+y for x in vec1 for y in vec2] 6 [6, 5, -7, 8, 7, -5, 10, 9, -3] 7 >>> [vec1[i]*vec2[i] for i in range(len(vec1))] 8 [8, 12, -54]
是對列表的二次加工,書寫格式爲括號(),裏面放元素
元組的一級元素不可被修改,且不能被增長和刪除
通常寫元組的時候,推薦在最後加入逗號, 能加則加
與字符串同樣,元組之間可使用 + 號和 * 號進行運算。這就意味着他們能夠組合和複製,運算後會生成一個新的元組。
例如:
print(len((1, 2, 3,))) 結果爲 3 (1, 2, 3) + (4, 5, 6) 結果爲 (1, 2, 3, 4, 5, 6) ('Hi!',) * 4 結果爲 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 3 in (1, 2, 3) 結果爲 True for x in (1, 2, 3): print(x) 結果爲 1 2 3
len(tuple) 計算元祖個數 max(tuple) 返回元祖中元素最大值 min(tuple) 返回元祖中元素最小值 tuple(seq) 將列表轉換爲元祖
是一個鍵(key)值(value)對,結構爲{},大括號
字典的值能夠是任何值
列表,字典不能做爲字典的key
字典是無序的
字典不能被切片,由於它是無序的;可根據索引取值,查找,找到元素
字典是支持del 刪除的
支持for循環
1 dict.clear() 刪除字典內全部元素 2 dict.copy() 返回一個字典的淺複製 3 dict.fromkeys() 建立一個新字典,以序列seq中元素作字典的鍵,val爲字典全部鍵對應的初始值 print(dict.fromkeys('2', 4)) 結果爲 {'2': 4} 注意: 整數不能做爲Key 4 dict.get(key, default=None) 返回指定鍵的值,若是值不在字典中返回default值 5 key in dict 若是鍵在字典dict裏返回true,不然返回false 6 dict.items() 以列表返回可遍歷的(鍵, 值) 元組數組 7 dict.keys() 以列表返回一個字典全部的鍵 8 dict.setdefault(key, default=None) 和get()相似, 但若是鍵不存在於字典中,將會添加鍵並將值設爲default 9 dict.update({'k1':'v1'} OR k1=v1) 把字典dict2的鍵/值對更新到dict裏 10 dict.values() 以列表返回字典中的全部值 11 dict.popitem() 隨機刪除,並獲取刪除的鍵值以元組形式返回
基本數據類型特色(可變:列表,字典 不可變:字符串,數字,元組)
不一樣的元素組成
無序
集合中的元素必須是不可變類型,加入可變的類型會報錯==
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) # 輸出集合,重複的元素被自動去掉 # 成員測試 if('Rose' in student) : print('Rose 在集合中') else : print('Rose 不在集合中') # set能夠進行集合運算 a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a和b的差集 print(a | b) # a和b的並集 print(a & b) # a和b的交集 print(a ^ b) # a和b中不一樣時存在的元素
A、add 添加,添加可變的數據類型也是會報錯的
s = {1,2,5,5,'g','h'} s.add(3) print(s)
執行結果
{1, 2, 3, 5, 'h', 'g'}
B、clear 清空集合
C、intersection 交集,至關於&
s = {1,7,9} s1 = {1,9,5} print(s&s1) print(s.intersection(s1)) {9, 1} {9, 1}
D、union 並集,至關於 |
s = {1,7,9} s1 = {1,9,5} print(s|s1) print(s.union(s1))<br><br>{1,5,7,9}<br>{1,5,7,9}
E、difference 差集,至關於-
s = {1,7,9} s1 = {1,9,5} print(s-s1) print(s.difference(s1)) {7} {7}
F、symmetric_difference 交叉補集,至關於^
s = {1,7,9} s1 = {1,9,5} print(s^s1) print(s.symmetric_difference(s1)) {5, 7} {5, 7}
G、difference-update 差集更新
H、isdisjoint 判斷是否有交集
I、issubset 判斷是否爲子集
s1={1,2} s2={1,2,3} print(s1.issubset(s2)) print(s2.issubset(s1)) True False
J、issuperset 判斷是否爲父集
s1={1,2} s2={1,2,3} print(s2.issuperset(s1)) True
k、update 更新多個值,可迭代均可傳
L、pop,remove,discard 均爲刪除
s = {9, 'sb', 1, 2, 3, 4, 5, 6} s.pop() # pop不能指定刪除,只能夠隨機刪除 print(s) s = {9, 'sb', 1, 2, 3, 4, 5, 6} # 指定刪除元素,當刪除的元素不存在時,刪除會報錯 s.remove(4) print(s) s = {9, 'sb', 1, 2, 3, 4, 5, 6} s.discard(5) print(s)