Python基礎三

來源:互聯網
上載者:User

標籤:序列   str   函數   取字串   條件   格式化   jdk   計算   儲存   

一、引子1.什麼是資料?

  x=10,10是我們要儲存的資料

2.為何資料要分不同的類型

  資料是用來表示狀態的,不同的狀態就應該用不同的類型的資料去表示

3.資料類型

  數字

  字串

  列表

  元組

  字典

  集合

 

二、基礎資料類型1.數字int

數字主要是用於計算用的,使用方法並不是很多,就記住一種就可以:

#bit_length() 當十進位用二進位表示時,最少使用的位元v = 11data = 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)  # 返回的找到的元素的索引,如果找不到返回-1ret61 = 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基礎三

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.