資料型別,顧名思義就是資料的型別,資料到底有哪些型別呢?在python中,最基本的資料型別有好幾種,讓我來逐個介紹。
python中只有一種整數型別,就是int型別,在程式中的寫法和運算和數學一般相同,如123
、-456
等。除此之外,還可以用其它的表示方法:
要注意的是,無論是哪一種寫法,整數在計算機中的儲存形式都是一樣的,都是一些0、1組合,不要以為十進位制16
在程式中寫成0x10
就不是同乙個數了,有這麼多種表示方式是為了方便人而不是計算機。
前面也接觸到了,整數可以進行加減乘除等數學計算,如:
>>> 123+456
579>>>
浮點數就是小數,如1.2
,1.3
等,浮點數的寫法還可以是科學計數法,如1.23x104在程式中表示為1.23e4
或12.3e3
,1.2x10-3可以表示為1.2e-3
等,也就是說用字母e
(或e
)代替10。
前面提到的//
運算子,其實是整數除法的運算子,整數和整數運算,結果還是整數,也就是說,10除以3結果應該是3而不是3.33……,這就是為什麼我說整數運算是準確的。
而/
是浮點數的除法運算子,python是將整數型別自動地轉化為浮點數再進行浮點數運算,最後的結果自然也是浮點數了。
字串是用一對單引號'
或一對雙引號"
括起來的文字,如'123'
,"456"
。引號'
、"
只是用來表示字串,不是字串的一部分,如'123'
只是一串字元1
、2
、3
,如果字串中包含單引號'
那麼可以用雙引號括起:"單引號(')"
,同理,若字串中包含雙引號,可以是用單引號來表示:'雙引號(")'
。
如果字串中即有單引號又有雙引號呢?這時就需要用轉義字元\
了,比如:
"這有乙個單引號\',還有乙個雙引號\""
表示的字串是:
這有乙個單引號',還有乙個雙引號"
轉義字元\
常用於表示一些無法用鍵盤打出來的字元,如換行符\n
,print()
預設在輸出字串後換行,就是自動加了換行符\n
,製表府\t
,而\\
表示字元\
本身。
用print()
列印些字串試試:
>>> print("製表符\t製表符")
製表符 製表符
>>> print("換行符\n換行符")
換行符換行符
>>> print("\\是轉義字元")
\是轉義字元
>>>
如果字串中有很多字元需要轉義,每乙個都加上\
?這也太麻煩了,python還有一種更簡單的表示方法,字串引號前加乙個字首r
,表示raw字串,raw是原生的意思,也就是說,你看到的是什麼字元就是什麼字元,即不轉義。如:
>>> print(r"換行符為\n", r"轉義符為\\", r"製表符為\t", r"引號為\'和\"")
換行符為\n 轉義符為\\ 製表符為\t 引號為\'和\"
>>>
當然啦,如果你要換行,那麼就不能寫成r"\n"
了,因為r""
中的字串是不轉義的,如果有很多換行,還可以用這種形式,'''字串'''
或"""字串"""
:
>>> print('''
... 第一行
... 第二行
... 第三行
... ''')
第一行第二行
第三行》
其中的...
是互動式直譯器輸出的提示字元,不是字串的一部分,這提示你這一條命令是多行的,還沒完,後面的'''
閉合了前面的'''
,)
閉合了前面的(
,所以多行的命令結束,執行命令輸出結果。在檔案中表示為:
print('''
第一行第二行
第三行''')
r
字首同樣可以使用在'''多行的字元'''
。
注意了:前面涉及python語法的標點符號都是半形的,當你確信自己的**和作者的一樣卻不能正常執行,那麼就要看看是不是標點符號的問題了。
布林型別只有兩種值:true
,false
,即「真」和「假」。比如1>2
是假的,所以為false
,4<5
是真的,所以為true
。示例**如下:
>>> true
true
>>> false
false
>>> 1>2
false
>>> 4<5
true
>>>
還可以用and
、or
、not
進行邏輯運算,分別對應數學中的「且」、「或」、「非」,**如下:
>>> true and true
true
>>> true and false
false
>>> true or false
true
>>> not true
false
>>> not false
true
>>> 10>3 and 3>1
true
>>>
布林值的常用於條件語句中,如:
if 10>3:
print("10大於3")
else:
print("10不大於3")
條件語句之後會單獨講解,不過聰明的讀者應該能理解上面的**的意思。
python中還有一種特殊的型別,叫做空型別,只有乙個值,就是none
,表示什麼都沒有。暫時還沒用到,用到再說。
python中還有其它資料型別:列表(list)、元組(tuple)、字典(dict),還可以自定義型別,後面會提到,現在就到這。
你還可以用type()
獲取資料的型別,如:
>>> type(123)
>>> type("abc")
>>> type(true)
>>> type(none)
>>>
上面的class
表明這是乙個「類」,int
、str
、bool
、nonetype
都是「類」,解釋這個暫時來說太早了,就當這是型別的名字,先忽略吧。 python資料型別之二
列表 list 定義 內可以有多個任意型別的值,逗號分隔 基本語法 定義 內可以有多個任意型別的值,逗號分隔 my girl friends alex wupeiqi yuanhao 4,5 本質my girl friends list 或 l list abc 常用操作 1 按索引訪問值 正向訪問...
Python 內建資料型別(二)
一 字串 不可改變物件 1 定義 有序的字元的集合,用單引號或者雙引號表示,支援索引,切片 就是編號,通過這個編號就能找到相應的儲存空間。正數從左到右,負數從右到左。切片 sx sx 3 sx 2 sx 0 4 2 是指對操作物件擷取其中的一部分 語法 起始 結束 步長 注意 選取的區間屬於左閉右開...
python基礎資料型別 二
今天小牟牟給大家帶來的是python資料型別list 列表 及tuple 元組 的學習,我們在工作中會發現list和tuple型別的資料用的特別多,list是乙個可變的資料型別,我們可以修改列表中的各種元素值資訊,而tuple型別則是乙個不可變的資料型別,這一點與字串相同,故而tuple型別的資料大...