Python 基础知识(二)
一、基礎數據類型
1、數字int
數字主要是用于計算用的,使用方法并不是很多,就記住一種就可以:
#bit_length() 當十進制用二進制表示時,最少使用的位數 # -*- coding:UTF-8 -*- v = 11 data = v.bit_length() print(data) # 二進制: # 0 0 0 0 0 0 1 0 # 十進制: # 128 64 32 16 8 4 2 1 #因為11小于16,而16占用5位。11最小占用應該為4位。 輸出內容為:4?2、布爾值
布爾值就兩種:True,False。就是反應條件的正確與否。
真 ? 1 ? True。
假 ? 0 ? False。 ? ?
""" int ---> str :str(int) ##數字轉為字符串 str ---> int :int(str) str必須全部是數字組成。 ##字符串轉為數字int --- > bool 0 False 非零 True ##數字轉為bool bool ---> int int(True) 1 int(False) 0 ##布爾轉為數字str ---> bool '' False 非空字符串 True ##字符串轉為bool. """3、字符串
3.1、字符串的索引
? ? 索引即下標,就是字符串組成的元素從第一個開始,初始索引為0以此類推。
A = 'alex bog d3dfj%sdkfA' s1 = A[0] print(s1) #輸出內容:a s2 = A[3] print(s2) #輸出內容:x s3 = A[-1] print(s3) #輸出內容:A3.2、字符串的切片
切片就是通過索引(索引:索引:步長)截取字符串的一段,形成新的字符串(原則就是顧頭不顧腚)
a = 'ABCDEFGHIJK' print(a[0:4]) #輸出: ABCD print(a[2:5]) #輸出:CDE print(a[0:]) #后面區間不加表示默認輸出到最后。輸出:ABCDEFGHIJK print(a[0:5:2]) #加步長,最后面的2為步長。輸出:ACE print(a[5:0:-2]) #反向步長。輸出:FDB3.3、字符串的方法
a = 'cd Adfsdfs 12EF dG677JK' #capitaliza方法 首字母大寫print(a.capitalize()) #Cd adfsdfs 12ef %g677jk #swapcase方法 大小寫翻轉 print(a.swapcase()) #CD aDFSDFS 12ef %g677jk #title 每個單詞的首字母大寫print(a.title()) #Cd Adfsdfs 12Ef Dg677Jk #center方法 內容居中,總長度,空白處填充print(a.center(30)) # cd Adfsdfs 12EF dG677JK 空白處用*填補 r =a.center(30,"*") print(r) #***cd Adfsdfs 12EF dG677JK****#count方法 統計字符串元素出現的個數 r = a.count("d") #統計“d”在語句中出現的次數 print(r) ## 輸出結果: 4r = a.count("d",0,5) #統計“d”在下標區間為0到5中間出現的次數 print(r) #輸出結果: 2 #startwith 判斷是否以...開頭 s = a.startswith('c') print(s) #返回布爾值:True s = a.startswith('A',3,6) print(s) #在下標3到6間查找是否以大寫字母A開頭 #判斷是否以...結尾 s= a.endswith('k') print(s) ##返回布爾值:falses4 = a.find('A',0,6) print(s4) ##找不到就返回-1(數組下標),找到就返回內容對應的下標,此處返回A對應的數組下標4#split 以什么分割,最終形成一個列表此列表不含有這個分割的元素。 ret9 = 'title,Tilte,atre,'.split('t') print(ret9) ##輸出結果:['', 'i', 'le,Til', 'e,a', 're,']#strip方法 name = '*start**' #去除語句中所有的“*” print(name.strip('*')) 輸出結果: start #去除語句頭部的“*” print(name.lstrip('*')) 輸出結果: start** #去除語句尾部的“*” print(name.rstrip('*')) 輸出結果: *start#replace 替換 name = 'alex say :i have one tesla,my name is alex. print(name.replace('alex','sb',1)) #將Alex替換成sb,后標位置為1時,替換一個。后標位置的數字表示要替換的個數。#is方法 name = 'jenxin123' print(name.isalnum()) #字符串由字母和數字組成 print(name.isalpha()) #字符串由字母組成 print(name.isdigit()) #字符串由數字組成 View Code?4、元組
元組被稱為只讀列表,即數據可以被查詢,但不能被修改,所以,字符串的切片操作同樣適用于元組。例:(1,2,3)("a","b","c")
5、列表
5.1、增
li = ['alex',123,True,(1,2,3, ' wusir '),[1,2,3, ' 小明'],{ 'name','alex '}]#insert 按著索引去增加 # li.insert(0,55) # print(li) # 輸出:[55, 'alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f \xe6\x98\x8e'], set(['name', 'alex '])] #append 追加到最后 # li.append('aaa') # print(li) #輸出內容: [55, 'alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f \xe6\x98\x8e'], set(['name', 'alex ']), 'aaa'] #extend 迭代的去增加 # li.extend(['a,q,w'])print(li) #輸出內容:['alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex ']), 'a,q,w'] 列表的增
5.2、刪
pop 按著位置去刪除,有返回值 # l1 = li.pop(1) # print(l1) #輸出:123 # print(li) #輸出:['alex', True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])]#del 按著位置去刪除,也可以切片刪除,沒有返回值 # del li[1:3] # print(li) #輸出:['alex', (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])] #remove 按著元素去刪除 li.remove(123) # print(li) #輸出: ['alex', True, (1, 2, 3, ' wusir '), [1, 2, 3, ' \xe5\xb0\x8f\xe6\x98\x8e'], set(['name', 'alex '])] #clear 清空列表 li.clear() 列表的刪5.3、改
# li = [1,'a','b','c',2,3] # li[1] = 'dfsdfsdfsdfgbc' # print(li) # 輸出:[1, 'dfsdfsdfsdfgbc', 'b', 'c', 2, 3] # li[1:3] = ['c','ddddssgvb'] # print(li) 列表的改5.4、查
a = ["a","b","g","c","d","c"] #切片去查,或者循環去查。 其他操作:# count(數)(方法統計某個元素在列表中出現的次數) # print(a.count("a")) #輸出:1 # index(方法用于從列表中找出某個值第一個匹配項的索引位置) # print(a.index("c")) #輸出:2 # sort (方法用于在原位置對列表進行排序)。 a.sort() print(a) #輸出: ['a', 'b', 'c', 'c', 'd', 'g'] print(a.sort()) # None # reverse (方法將列表中的元素反向存放) a.reverse() print(a) # 輸出: ['g', 'd', 'c', 'c', 'b', 'a'] 列表的查?6、字典
字典是python中唯一的映射類型,采用鍵值對(key-value)的形式存儲數據。python對key進行哈希函數運算,根據計算的結果決定value的存儲地址,所以字典是無序存儲的,且key必須是可哈希的。可哈希表示key必須是不可變類型,如:數字、字符串、元組。
字典(dictionary)是除列表意外python之中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典:存儲數據多,關系型數據,查詢速度快(二分查找)。 3.6版本之前,字典是無序的,3.6之后字典是有序的。字典的key是唯一的。key 必須是不可變的數據類型。key:不可變的數據類型(可哈希):str,bool,tuple,int。value:任意數據類型。 數據類型分類:不可變的數據類型(可哈希):str,bool,tuple,int可變的數據類型:dict,list,set。容器類數據類型:list,tuple,dict,set. View Code?6.1、增
#1、 setdefault 在字典中添加鍵值對,如果只有鍵那對應的值是none,但是如果原字典中存在設置的鍵值對,則他不會更改或者覆蓋。 dic = {'name_list':['b哥', '張帝', '人帥', 'kitty'],'dadong':{'name':'dadong','age': 46,'sex': 'ladyboy',}, } dic.setdefault('k','v') print(dic)#2、dic['key1']='value1' ,有則替換,無則添加 字典的增6.2、刪
1、 pop根據key刪除鍵值對,并返回對應的值,如果沒有key,則返回默認的返回值。 dic_pop = dic.pop("name_list",'無返回值') print(dic_pop) #輸出:['b哥', '張帝', '人帥', 'kitty'] print(dic) #輸出:{'dadong': {'name': 'dadong', 'age': 46, 'sex': 'ladyboy'}} 2、隨機刪除字典中某個鍵值對,將刪除的鍵值對元組的形式返回。 dic_pop1 = dic.popitem() print(dic_pop1) #輸出:('dadong', {'name': 'dadong', 'age': 46, 'sex': 'ladyboy'}) 3、clear 清空字典 dic_clear = dic.clear() print(dic,dic_clear) #輸出: {} None 字典的刪6.3、改
dic1 = {'name':"jin","age":18,"sex":"male"} dic2 = {"name":"alex","wegint":75} dic2.update(dic1) #將dic1所有的鍵值對覆蓋添加(相同的覆蓋,沒有的添加)到dic2中。 print(dic2) #輸出:{'name': 'jin', 'wegint': 75, 'age': 18, 'sex': 'male'} 字典的改6.4、查
value = dic["name"] print(value) #輸出:報錯 KeyError: 'name' print(value) #輸出: ['b哥', '張帝', '人帥', 'kitty']value2 = dic.get("123","默認返回值") #輸出:默認返回值 print(value2) 字典的查6.5、字典的循環
#字典的循環 dic = {"name":"jin","age":18,"sex":"male"} for key in dic:print(key) #輸出:name age sexfor item in dic.items():print(item) #輸出:('name', 'jin') ('age', 18) ('sex', 'male')for key,value in dic.items():print(key,value) #輸出內容:name jin age 18 sex male 字典循環?7、練習題
練習一: l1 = [1, 2, 'alex', 'wusir',['oldboy', 'ritian', 10], 'taibai'] #1.將'alex'全部變成大寫,放回原處 #2.給['oldboy', 'ritian', 99]追加一個元素'女神' #3.將'ritian'首字母大寫,放回原處 #4.將10通過數字相加,或者字符串相加變成100# l1 = [1, 2, 'alex', 'wusir',['oldboy', 'ritian', 10], 'taibai'] # l1[2]=l1[2].upper() # l1[4].append('女神') # l1[4][1]=l1[4][1].capitalize() # l1[4][2]=str(l1[4][2]+90) # print(l1) # l1[4][2]=int(l1[4][2])-90 # l1[4][2]=str(l1[4][2])+'0' # print(l1)練習二: #######練習2########### dic = {'name_list':['東哥', '張帝', '人帥', 'kitty'],'大東':{'name':'dadong','age': 46,'sex': 'ladyboy',}, } #1,['大東', '張帝', '人帥', 'kitty']追加一個元素,'騎兵' #2,將kitty全部變成大寫。 #3,將老男孩 改成oldboy。 #,將ladyboy首字母大寫。 # dic['name_list'].append('騎兵') # dic['name_list'][-2]=dic['name_list'][-2].upper() # dic['老男孩']['name']='oldboy' # dic['老男孩']['sex']=dic['老男孩']['sex'].capitalize() # print(dic) 練習題?
轉載于:https://www.cnblogs.com/dadonggg/p/8807281.html
總結
以上是生活随笔為你收集整理的Python 基础知识(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孕妇做梦梦到春梦是什么意思
- 下一篇: vue-resource跨域问题