1、python基本數據類型python
1,int,整數,主要用來進行數學運算git
2,bool,布爾類型,判斷真假,True,Falseapi
3,str,字符串,能夠保存少許數據並進行相應的操做(將來使用頻率最高的一種類型)ui
4,list,列表,用來存儲大量數據,用[]表示(裏面能夠存放各類數據類型)3d
5,tuple,元組,不能夠發生改變,用()表示code
6,dict,字典,保存鍵值對,{key : value}也能夠保存大量數據對象
7,set,集合,保存大量數據,不能夠重複,其實就是不保存value的dictblog
2、整數(int)索引
在python3中全部的整數都是int類型,但在python2中若是數據量比較大,會使用long類型,在python3中不存在long類型。ip
整數能夠進行的操做:bit_length() 計算整數在內存中佔用的二進制碼的長度(不多用)
十進制5轉化成二進制是101,長度是3,程序以下:
3、bool類型,取值只有True和False,bool值沒有操做
轉換問題:
str => int int(str)
int => str str(int)
int => bool bool(int) 0是False,非0是True
bool => int int(bool) True是1,False是0
str => bool bool(str) 空字符串是False,非空字符串是True
bool => str str(bool) 把bool值轉換成相應的「值」,即字符串True或者False
結論:全部的空都是False,全部的非空都是True;例如:0,None,空字符串,空列表,空字典,空集合,空元組。
要想把某數據轉換成xxx數據類型,則xxx(數據)便可;
補充:比較下面兩個死循環
while 1:
print(「hello world!」)
和
while True:
print(「hello world!」)
咱們能夠發現二者的區別是循環條件分別是1和True,咱們一般用第一種。由於前者代碼較後者更少,且計算機最底層認的是01,True須要轉化成01,而1到了計算機底層也是1,因此前者比後者運行快那麼一點點。
4、字符串(str)
把字符連成串,在python中用’,」,’’’,」」」引發來的內容被稱爲字符串。
切記:字符串是不可變的對象,因此任何操做對原字符串是不會有任何影響的,每次操做都返回新字符串。
4.1 索引和切片
索引:索引就是下標,下標從0開始,使用[下標]能夠獲取到每個字符,以下列代碼示例:
切片:咱們可使用下標來截取部分字符串的內容。
語法:str[start : end]
規則:顧頭不顧尾,從start開始,截取到end位置,但不包括end,以下列代碼示例:
經過上邊知道切片默認是從左向右截取,咱們能夠給出第三個參數來控制方向,第三個參數叫步長,步長爲負數時,則從右往左取值。
語法:str[start : end : step]
start : 起始位置
end : 結束位置
step : 步長(步長若是是整數,則從左往右取,若是是負數,則從右往左取,默認是1)
以下列代碼示例:
4.2 字符串的相關操做方法
s1.capitalize() # 首字母大寫,其餘字母都變成小寫
s1.lower() # 所有轉換成小寫
s1.upper() # 所有轉換成大寫,記住!!!
s1.swapcase() # 大小寫互相轉換
s1.casefold() # 轉換成小寫,和lower相比,casefold()對全部字母都有效,好比東歐的一些字母
s1.title() # 每一個被非字母字符隔開的單詞首字母大寫
s1.center() # 居中,
示例:s5 = 「周杰倫」
ret = s5.center(10 , 「*」)
s1.expandtabs() # 改變\t的長度,更改成8
s1.strip() # 去掉字符串左右兩端空格(還有換行符\n,縮進\t),也能夠加參數去掉指定的元素,記住!!!
s1.lstrip() # 去掉字符串左邊空格
s1.rstrip() # 去掉字符串右邊空格
s1.replace(「原字符」,「新字符」) # 將原字符替換成新字符,也能夠再加一個參數指定替換幾個,記住!!!
s1.split() # 字符串按照指定字符切割(注意:若是切割符在左右兩端,則切完必定出現空字符串),還能夠跟第二個參數,表示根據第幾個指定字符分割,記住!!!
注意:split默認是按照空白切割!具體示例以下:
a = "al ex ha nishi shui" lst = a.split() print(lst) # 結果爲:['al', 'ex', 'ha', 'nishi', 'shui']
4.3 格式化輸出
4.4 查找
s13.startswith() # 是否以指定字符開頭,記住!!!
s13.endswith() # 是否以指定字符結尾,記住!!!
s13.count() # 查找指定字符在字符串中出現的次數
s13.find() # 查找指定字符的索引,若沒有所查找字符,則返回-1
s13.index() # 求指定字符索引,注意:若找不到,程序會報錯
4.5 條件判斷
s14.isalnum() # 是否由字母和數字組成
s14.isalpha() # 是否由字母組成(包括漢字)
s14.isdigit() # 是否由數字組成,不包括小數點
s14.isdecimal() # 這個比較牛,中文數字也能識別
s14.islower() # 是不是小寫字母
s14.isupper() # 是不是大寫字母
4.6 計算字符串長度,用法以下示例:
4.7 迭代
咱們可使用for循環來遍歷(獲取)字符串中的每個字符。
語法:
for 變量 in 可迭代對象 :
pass(也存在break和continue)
else:
當循環結束的時候會執行
可迭代對象:能夠一個一個往外取值的對象。