1. 程式人生 > >Python基礎三

Python基礎三

tab鍵 alex 出現 鍵值對 條件 存取 pca span 翻轉

一、引子

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 1while 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基礎三