1、整型python
一、用途:通常用於定義整數,如:年齡,身份證號,qq號碼等git
二、定義方式:age = 18 ---->age = int( 18 )app
三、內置經常使用方法 (用於數學計算與比較運算)spa
3.1 進制的轉換code
3.1.1 其餘進制轉換10進制 二------->十: (0,1 ) 110 1*(2**2)+ 1*(2**1) +0*(2**0)=4+2+0=6 print(int ( ' 110 ' ,2 ) ) 八------->十: (0-7 ) 123 1*(8**2)+ 2*(8**1) +3*(8**0)=64+16+3=83 print(int ( ' 123 ' ,8 ) ) 十六------->十: (0-9,a-f ) 321 3*(16**2)+ 2*(16**1) +1*(16**0)=768+32+1=801 print(int ( ' 321 ' ,16 ) ) 3.1.2 10進制轉換其餘進制(0-9) 十------->二: print(bin (108 ) ) ------->0b1101100 十------->八: print(oct ( 83 ) )------->O0123 十------->十六: print(hex ( 1000 ) )------->Ox3e8
四、總結orm
一、(有索引的類型都是有序的)對象
二、不可變blog
三、存一個值索引
2、浮點型隊列
一、用途:用於記錄小數,身高,體重,薪資等
二、定義方式:height = 1.0 ----> height = float(1.0)
三、內置經常使用方法
s1 = '1.0' f1 = float(s1) print(f1) # 1.0 print(type(f1)) # float a1 = int(f1) print(a1) # 1
四、總結
一、無序
二、不可變類型
二、只能存一個值
3、字符串
一、用途:用於存儲一些描述性信息,名字等
二、定義方式
第一種: s1 = '大象' 第二種: s2 = "大象2" 第三種: s3 = '''大象3''' s4 = """大象4""" print(s1,s2,s3,s4) # 以上三種方式沒有任何區別,可是不能混用 s5 = '你今天"吃飯"了嗎' # 補充:字符串前面加一個小寫的r,表明轉義
三、內置經常使用方法
1 1、索引取值(正向取、反向取),只能取不能存 2 3 s1 = 'hello world' 4 5 print(s1[4]) # 正向取 6 print(s1[-7]) # 反向取 7 8 2、索引切片 : 截取字符串中的一小段字符串 9 10 print(s1[2:5]) 11 print(s1[4:]) 12 print(s1[:5]) 13 print(s1[0:-2:2]) 14 print(s1[::-1]) 15 16 三、成員運算:in not in 17 18 print("o" not in s1) 19 20 4、strip :去除字符串左右兩邊的空格,中間不算 21 input不管接受的是什麼類型,必定返回的是字符串 22 23 name = input(">>:").strip() 24 print(len(name)) 25 26 a1 = '$$$$sean$$$' 27 print(a1.strip("$")) 28 29 5、split : 切分: 對字符串進行切分,能夠指定切分的分隔符,返回是一個列表 30 31 a1 = 'sean 18 male' 32 33 print(a1.split()) 34 35 6、len() :獲取當前數據中的元素的個數 36 37 a1 = 'hello' 38 39 print(a1) 40 41 #for循環 42 a1 = 'hello' 43 for i in a1: 44 print(i) 45 46 #須要掌握知識點: 47 strip,rstrip,lstrip 48 49 inp = input(">>:").lstrip("*") 50 print(inp) 51 print(len(inp)) 52 53 54 # lower\upper 55 s1 = 'Hello world' 56 print(s1.upper()) 57 print(s1.lower()) 58 59 60 # startswith\endswith : 判斷當前字符串是否以。。。開頭,或者以。。結尾,返回的必定是布爾值 61 print(s1.startswith("He")) 62 63 print(s1.endswith('ld')) 64 65 .format() 66 你的名字是:sean,你的年齡是:18 67 68 name = 'sean' 69 age = 19 70 71 print("你的名字是:",name,"你的年齡是,",age) 72 73 print("你的名字是:{},你的年齡是:{}".format(name,age)) 74 75 print("你的名字是:{1},你的年齡是:{0}".format(name,age)) 76 77 print("你的名字是:{name},你的年齡是:{age},{gender}".format(age=age,name=name,gender='male')) 78 79 # f-string: 80 # 經過大括號接收變量,在字符串前面必定要加一個小寫f,,,,在python3.6之後纔有 81 print(f"你的名字是:{name},你的年齡是:{age}") 82 83 # split\rsplit 84 s1 = "name,age,gender" 85 print(s1.split(",",1)) # 能夠指定切分的次數 86 87 # join : 將(列表)中每一個元素按照前面字符串中的分隔符進行拼接 88 l1 = ['sean','18','male'] 89 print("|".join(l1)) 90 91 # replace:將字符串中的元素進行替換,參數,先老值,再新值 92 s1 = 'sean,18' 93 print(s1.replace("sean",'大象')) 94 95 96 # isdigit() : 判斷當前字符串中的數據,是不是一個數字,返回布爾值 97 98 score = input("please input your score:") 99 if score.isdigit(): 100 score = int(score) 101 if score >= 90: 102 print('優秀') 103 else: 104 print("你tmd能不能好好輸")
四、總結
一、有序
二、不可變類型
二、只能存一個值
4、列表
一、用途:用於存一個或者多個不一樣類型的值
二、定義方式:經過花括號存值,每一個值之間經過逗號進行分隔
三、內置經常使用方法
# 一、索引取值(正反均可以),不只能夠取還能夠存 l1 = [1, 2, 3, 4, 5] print(l1[2]) # 3 # l1[2] = 222 # print(l1) # [1, 2, 222, 4, 5]
#二、索引切片 print(l1[1:4]) # [2, 3, 4]
#三、append() 追加 只能添加到列表的最後一位,一次性只能添加一個值 l1.append(1000) print(l1) l1.append([9, 8]) print(l1)
#四、insert() 插入值,經過索引指定插入的位置 l1.insert(3, 888) print(l1)
#五、extend() 將插入的可迭代對象分別插入 l1.extend([33, 44, 55]) print(l1)
#六、reomve() 指定值刪除,比較完全,()中直接放值 l1.remove(1) print(l1) l1.remove([9, 8]) print(l1)
#七、pop() 不傳值,默認從最後開始刪,指定索引刪值,pop是有返回值的 val = l1.pop() print(val)
四、隊列:先進先出
堆棧:先進後出
#隊列 # l = [] # l.append(1) # l.append(2) # l.append(3) # print(l) # #[1, 2, 3] # l.pop(0) # print(l) # #[2, 3] # l.pop(0) # print(l) # #[3] # l.pop(0) # print(l) # #[]
#堆棧 l = [] l.append(1) l.append(2) l.append(3) print(l) #[1, 2, 3] l.pop() print(l) #[1, 2] l.pop() print(l) #[1] l.pop() print(l) #[]
#深淺copy import copy l1 = [257, 'a', [4, 5, 6]] print(l1) print(id(l1)) # print(id(l1[0])) l2 = copy.deepcopy(l1) # [1, 'a', [4, 5, 6]] l2[2][0] = 4444 print(l2) print(id(l2)) print("l1:", l1) print("id_l1:", id(l1))
五、總結
一、有序
二、可變類型
二、存多個值
5、元祖 tuple
一、用途:用於存多個不一樣類型的值,不能存可變類型(列表)
二、定義方式:經過小括號存數據,數據之間用逗號分隔,值不可變,有索引。
#若容器裏只有一個值,值的後面要加上逗號,不然返回字符串。
三、經常使用方法
#索引取值(正,反) t = ('a','b','c','d') print(t[0]) #a print(t[-1]) #d #索引切片 print(t[0:2]) #('a', 'b') #in/ not in print('a' in t) #True #len() print(len(t)) #4 #for for i in t: print(i) # a # b # c # d
四、總結
一、有序
二、不可變類型
二、存多個值
6、字典 dict
一、用途:用於存多個不一樣類型的值,不能存可變類型(列表)
二、定義方式:經過花括號存數據,經過key:value來定義鍵值對數據,每一個鍵值對中間用逗號分隔。
#key在定義時必須是不可變類型,value能夠是任意類型。
三種定義方式:
# 第一種 d1 = {'name':'nick', 'age':18} # 第二種 d2 = dict('name':'nick', 'age':18) # 第三種 zip l1 = ['name','age'] l2 = ['nick',18] z1 = zip(l1,l2) print(dict(z1)) #{'name': 'nick', 'age': 18}
三、方法
# 按照key:value映射關係取值(可存可取) d1 = {'name': 'nick', 'age': 18} # print(d1['name']) #nick 取值 # d1['name'] = 'bonny' # print(d1) # {'name': 'bonny', 'age': 18} 改值 # d1['gender'] = 'male' # print(d1) # {'name': 'nick', 'age': 18, 'gender': 'male'} 添值 # in/ not in 默認判斷key print('name' in d1) # True #len() 獲取鍵值對的個數 print(len(d1)) #2
內置方法
# get() 獲取key的值,若值不在,默認返回none d1 = {'name': 'nick', 'age': 18} # a= d1.get('xxx',123) #key不存在,能夠設置默認返回值 # print(a) #123 print(d1.get('age')) # 18 print(d1.get('gender')) # None #keys / values / items print(d1.keys()) # ['name', 'age'] 返回列表 print(d1.values()) # ['nick', 18] 返回列表 print(d1.items()) # [('name', 'nick'), ('age', 18)] 返回列表套元祖,每個item都是存在元祖 for key in d1: print(key) #name #默認遍歷的是字典的key #age for key in d1.keys(): print(key) #name #age for value in d1.values(): print(value) #nick #18 for item in d1.items(): print(item) #('name', 'nick') #('age', 18) #pop 指定key刪,有返回值,值爲對應value d1 = {'name': 'nick', 'age': 18} a= d1.pop('name') print(d1) # {'age': 18} print(a) # nick #popitem() 隨機刪一組item,有返回值,值是元祖 d1.popitem() print(d1) #update() 用新字典替換舊字典,有則修改,無則添加 d1.update({'name':'peter'}) print(d1) # {'name': 'peter', 'age': 18} 修改 d1.update({'b': 1}) print(d1) #{'name': 'nick', 'age': 18, 'b': 1} 添加 #fromkeys() 生成一個新字典 d2 = {} d2 = d2.fromkeys([1, 2, 3], 'e') print(d2) # {1: 'e', 2: 'e', 3: 'e'} #setdefault() key不存在時新增item,有返回值,返回新增value,key存在,返回對應value d1 = {'name': 'nick', 'age': 18} d3 = d1.setdefault('d', 999) print(d3) # 999 print(d1) # {'name': 'nick', 'age': 18, 'd': 999} key不存在時新增item有返回值 d4 = d1.setdefault('name', 888) #key存在,返回對應value print(d4) #nick
四、總結
無序
可變類型
存多個值
7、集合 set
一、用途:去重、關係運算
二、定義方式:經過大括號存儲數據,每一個元素經過逗號分隔.
定義空集合,必須使用set()來定義
# l1 = []
# s1 = ""
# d1 = {}
# ss1 = set() # 定義空集合
frozenset() 不可變集合
三、經常使用方法
s1 = {'a', 'b', 'c', 'd', 'e', 'e'} s2 = {'c', 'b', 'f', 'd', 'g'} print(s1) #{'a', 'c', 'b', 'd', 'e'} 去重 print(s1 | s2) #{'c', 'g', 'a', 'b', 'e', 'd', 'f'} 合集 print(s2 & s1) #{'d', 'b', 'c'} 交集 print(s1 - s2) #{'a', 'e'} 差集 print(s2 - s1) #{'g', 'f'} 差集 print(s1 ^ s2) #{'g', 'f', 'e', 'a'} 對稱差集 print(s1 > s2) #False print(s2 > s1) #Fals
四、總結
無序
可變
存多個值
8、總結
存一個值:整型、浮點型、字符串
存多個值:列表、元組、字典、集合
可變or不可變:
可變: 列表,字典
不可變:整型、浮點型、字符串、元組、集合
有序or無序:
有序:字符串、列表、元組
無序:字典、集合
佔用空間: 字典 列表 元組 集合 字符串 數字類型