Python基礎三
一、引子
1.什麽是數據?
x=10,10是我們要存儲的數據
2.為何數據要分不同的類型
數據是用來表示狀態的,不同的狀態就應該用不同的類型的數據去表示
3.數據類型
數字
字符串
列表
元組
字典
集合
二、基礎數據類型
1.數字int
數字主要是用於計算用的,使用方法並不是很多,就記住一種就可以:
#bit_length() 當十進制用二進制表示時,最少使用的位數 v = 11 data = v.bit_length() print(data)
2.布爾值bool
布爾值就兩種:True,False。就是反應條件的正確與否。
真 1 True。
假 0 False。
int ------> bool 0:False 非零:True
bool----->True T----->1 F----->0
str------->bool 非空True 空就是False
s=‘abc‘ print(bool(s))
bool----->str str(True) str(False)
print(str(True),type(str(True)))
While 1比while true執行效率高
3.字符串str
一、字符串的索引與切片
索引即下標,就是字符串組成的元素從第一個開始,初始索引為0以此類推。
a = ‘ABCDEFGHIJK‘ print(a[0]) print(a[3]) print(a[5]) print(a[7])
切片就是通過索引(索引:索引:步長)截取字符串的一段,形成新的字符串(原則就是顧頭不顧腚)。
a = ‘ABCDEFGHIJK‘ print(a[0:3]) print(a[2:5]) print(a[0:]) #默認到最後 print(a[0:-1]) #-1就是最後一個 print(a[0:5:2]) #加步長 print(a[5:0:-2]) #反向加步長
二、字符串常用方法
captalize、swapcase、title
1 a = ‘ABCDEFGHIJK‘ 2 print(a.capitalize()) #首字母大寫 3 print(a.swapcase()) #大小寫翻轉 4 msg=‘egon say hi‘ 5 print(msg.title()) #非字母隔開的部分,首字母大寫,其它小寫
upper 全部大寫
lower 全部小寫
a=‘Lao Dao Ba Zi‘ print(a.upper()) print(a.lower())
1 code=‘aeDb‘ 2 your_code=input(‘請輸入驗證碼:‘) 3 if your_code.upper()==code.upper(): 4 print(‘輸入正確‘) 5 else: 6 print(‘請重新輸入‘)
center 內同居中,總長度,空白處填充
a=‘Lao Dao Ba Zi‘ ret2 = a.center(20,"*") print(ret2)
expandtabs
a2 = "hqw\t" #\t前面的補全 # 默認將一個tab鍵變成8個空格,如果tab前面的字符長度不足8個,則補全8個,如果tab鍵前面的字符長度超過8個不足16個則補全16個,以此類推每次補全8個。 ret4 = a2.expandtabs() print(ret4)
count 數字符串中的元素出現的個數
a=‘Lao Dao Ba Zi‘ ret3 = a.count("a",0,4) # 可切片 print(ret3)
startswith 判斷是否以...開頭
endswith 判斷是否以...結尾
a4 = "dkfjdkfasf54" ret4 = a4.endswith(‘jdk‘,3,6) # 顧頭不顧腚 print(ret4) # 返回的是布爾值 ret5 = a4.startswith("kfj",1,4) print(ret5)
find 尋找字符串中的元素是否存在
a4 = "dkfjdkfasf54" ret6 = a4.find("fjdk",1,6) print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 ret61 = a4.index("fjdk",4,6) print(ret61) # 返回的找到的元素的索引,找不到報錯。
split 以什麽分割,最終形成一個列表此列表不含有這個分割的元素
ret9 = ‘title,Tilte,atre,‘.split(‘t‘) print(ret9) ret91 = ‘title,Tilte,atre,‘.rsplit(‘t‘,1) print(ret91)
format 格式化輸出
res=‘{} {} {}‘.format(‘egon‘,18,‘male‘) print(res) res=‘{1} {0} {1}‘.format(‘egon‘,18,‘male‘) print(res) res=‘{name} {age} {sex}‘.format(sex=‘male‘,name=‘egon‘,age=18) print(res)
strip 去除字符串前後兩端的空格,換行符,tab鍵等
name=‘*egon**‘ print(name.strip(‘*‘)) print(name.lstrip(‘*‘)) print(name.rstrip(‘*‘))
replace 替換
name=‘alex say :i have one tesla,my name is alex‘ print(name.replace(‘alex‘,‘SB‘,1))
len 字符串的長度
s=‘alex‘ print(len(s))
is系列
name=‘jinxin123‘ print(name.isalnum()) #字符串由字母或數字組成 print(name.isalpha()) #字符串只由字母組成 print(name.isdigit()) #字符串只由數字組成
三、元組tuple
元組被稱為只讀列表,即數據可以被查詢,但不能被修改,所以,字符串的切片操作同樣適用於元組。例:(1,2,3)("a","b","c")
四、列表list
列表是python中的基礎數據類型之一,其他語言中也有類似於列表的數據類型,比如js中叫數組,他是以[]括起來,每個元素以逗號隔開,而且他裏面可以存放各種數據類型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比於字符串,不僅可以儲存不同的數據類型,而且可以儲存大量數據,32位python的限制是 536870912 個元素,64位python的限制是 1152921504606846975 個元素。而且列表是有序的,有索引值,可切片,方便取值。
五、字典
字典是python中唯一的映射類型,采用鍵值對(key-value)的形式存儲數據。python對key進行哈希函數運算,根據計算的結果決定value的存儲地址,所以字典是無序存儲的,且key必須是可哈希的。可哈希表示key必須是不可變類型,如:數字、字符串、元組。
字典(dictionary)是除列表意外python之中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
六、 集合
set={1,‘alex‘,True}
三、其他(for,enumerate,range)
for循環:用戶按照順序循環可叠代對象的內容。
msg = ‘老男孩python是全國範圍內最好的python培訓機構‘ for item in msg: print(item) li = [‘alex‘,‘銀角‘,‘女神‘,‘egon‘,‘太白‘] for i in li: print(i) dic = {‘name‘:‘太白‘,‘age‘:18,‘sex‘:‘man‘} for k,v in dic.items(): print(k,v)
enumerate:枚舉,對於一個可叠代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。
li = [‘alex‘,‘銀角‘,‘女神‘,‘egon‘,‘太白‘] for i in enumerate(li): print(i) for index,name in enumerate(li,1): print(index,name) for index, name in enumerate(li, 100): # 起始位置默認是0,可更改 print(index, name)
range:指定範圍,生成指定數字。
for i in range(1,10): print(i) for i in range(1,10,2): # 步長 print(i) for i in range(10,1,-2): # 反向步長 print(i)
Python基礎三