python的數據類型

數據類型

2.1 整數 int

python可以處理任意大小的整數,當然也包括負數,在程序中的表示方法和數學上的寫法一樣,例如 1 100 200-100等等

計算機由於使用二進制,所以,有時候用十六進制表示整數比較方便,十六進制用0x前綴和0-9a-f表示

例如0xff000xa5b4,等等

2.2 浮點數

浮點數也會是小數,之所以稱爲浮點數,是因爲按照科學計數法表示時,一個浮點數的小數點位置是可變的,比如1.23x10九次方和12.3x108次方是完全相等的,浮點數可以用數學寫法,如1.233.14-9.01,等等但是對於很大或者很小的浮點數就必須用科學計數法表示把10e代替1.23x10的九次方就是1.23e90.000012可以寫成1.2e-5,等等

字符串

字符串是以單引號或者雙引號括起來的任意文本,如果字符串內部包含單引號或者雙引號。可以用戶\來轉義比如

>>> print('cao ' jiao ""yue"')

  File"<stdin>", line 1

   print('cao ' jiao " "yue"')

                   ^

SyntaxError: invalid syntax

>>> print('cao \' jiao \"\"yue\"')

cao ' jiao " "yue"

>>> 

如果字符串內部有很多換行,用\n寫就不好讀了。爲了簡化python允許用’’’……..’’’的格式表示多行

>>> print('''cao

... jiao

... yue''')

cao

jiao

yue

>>> 

寫到文件裏就是

print('''cao

jiao

yue''')

2.3 布爾值

布爾值和布爾代數的表示完全一致,一個布爾值只有TrueFalse兩種值,要麼是True,要麼是False,在python中可以直接用TrueFalse表示布爾值,也可以通過布爾運算計算出來

>>> True

True

>>> False

False

>>> 3 > 2

True

>>> 3 > 5

False

>>> 

條件成立時布爾值就是True

條件不成立時布爾值就是False

布爾值還可以用andornot運算。

2.3.1 and

and是與的意思,只有當條件都爲True的時候結果才爲True

>>> 3 > 5 and 1 > 2

False

>>> 3 > 2 and 1 > 2

False

>>> 3 > 2 and 4 > 2

True

>>> 

2.3.2 or

or是或的意思,其中只要有一個運算結果爲True那麼結果就爲True

>>> 3 > 5 or 1 > 2

False

>>> 10 > 5 or 1 > 2

True

>>> 

2.3.3 not

not是非的意思,TrueFalseFalseTrue

>>> not 1

False

>>> not 0

True

>>> not False

True

>>> not True

False

>>> 

0表示False,非零表示True

2.4 空值

空值是python裏一個特殊的值,用None表示。None不能理解爲0,因爲0是有意義的,而None是一個特殊的空值。此外python還提供了列表、字典、等多種數據類型,還允許創建自定義數據類型

2.5 變量

一個會變的量。變量不僅可以是數字還可以是任意數據類型

>>> a = 'abc'

>>> b = a

>>> a = 'caojiaoyue'

>>> b

'abc'

>>> 

2.6 列表

python內置的一種數據類型是列表:list是一種有序的集合,可以隨時添加和刪除其中的元素。

比如,列出班裏所以學生的名字,就可以用一個list表示

>>> cao = ['cao','jiao','yue',100]

>>> cao

['cao', 'jiao', 'yue', 100]

>>> 

變量cao就是一個列表

可以用len函數來查看他的元素的個數

>>> cao = ['cao','jiao','yue',100]

>>> cao

['cao', 'jiao', 'yue', 100]

>>> len(cao)

4

>>> 

用索引來打印列表裏的每個元素

>>> print(cao[0])

cao

>>> print(cao[1])

jiao

>>> print(cao[0],cao[1])

('cao', 'jiao')

>>> 

2.6.1 append

在列表的最後追加元素

>>> cao.append('cao')

>>> cao

['cao', 'jiao', 'yue', 100, 'cao']

>>> cao.append('liu')

>>> cao

['cao', 'jiao', 'yue', 100, 'cao', 'liu']

>>> 

2.6.2 insert

在列表的指定位置插入元素

>>> cao.insert(0,'liu')

>>> cao

['liu', 'cao', 'liu', 'jiao', 'yue', 100, 'cao','liu']

>>> cao.insert(0,123)

>>> cao

[123, 'liu', 'cao', 'liu', 'jiao', 'yue', 100,'cao', 'liu']

>>> 

2.6.3 pop

刪除一個列表裏的某個元素

>>> cao

[123, 'liu', 'cao', 'liu', 'jiao', 'yue', 100,'cao', 'liu']

>>> cao.pop()

'liu'

>>> cao.pop(1)

'liu'

>>> cao

[123, 'cao', 'liu', 'jiao', 'yue', 100, 'cao']

>>> 

列表裏的元素也可以是另一列表

>>> cao[2] = ['liuwen', 'hucong']

>>> cao

[123, 'cao', ['liuwen', 'hucong'], 'jiao', 'yue',100, 'cao']

>>> cao[2][0]

'liuwen'

>>> cao[2][1]

'hucong'

>>> 

因此cao就是一個二維數組

2.7 元組

另一種有序的列表叫元組,元組和列表非常相似,但是元組一旦初始化就不能修改,比如同樣是列出同學的名字:

>>> yue = ('cao','jiao','yue')

>>> yue

('cao', 'jiao', 'yue')

>>> 

但是yue這個元組是不能改變了,它沒有appendinsert這樣的方法。其他獲取元素的方法還是和列表一樣。你可以正常的使用cao[0],cao[-1],但是不能賦值其他的元素

正是應爲不可以變化所以數據更安全。

tuple的陷阱:當你定義一個tuple時,在定義的時候,tuple的元素就必須被確定下來,比如

>>> t = (1,2,3)

>>> t

(1, 2, 3)

>>> len(t)

3

>>> 

如果要定義一個空的在元組,可以寫成;

>>> t = ()

>>> t

()

>>> 

但是,要定義一個只有1個元素的元組,如果你這樣定義:

 

>>> t = (1)

>>> t

1

>>> 

別人怎麼知道1是表示是1這個值還是元素個數呀,爲了避免這樣的分歧,通常會加一個逗號

>>> t = (1,)

>>> t

(1,)

>>> 

一個可變化的元組

>>> t = ('a', 'b', ['a', 'b'])

>>> t

('a', 'b', ['a', 'b'])

>>> t[2][0]

'a'

>>> t[2][0] = 'i'

>>> t

('a', 'b', ['i', 'b'])

>>> 

 

表面上看元組的元素確實變了。但是變化的其實不元組的元素,而是列表的元素

小結

列表和元組是python內置的有序集合,一個可以變化,一個不可以變化,根據需要來選擇


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章