Python的數據類型:
- 整數
- 浮點數
- 字符串
- 布爾值
- 空值
- 變量
- 常量
整數
Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:
1
,100
,-8080
,0
,等等。
計算機由于使用二進制,所以,有時候用十六進制表示整數比較方便,十六進制用0x
前綴和0-9,a-f表示,例如:0xff00
,0xa5b4c3d2
,等等。
浮點數
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是完全相等的。浮點數可以用數學寫法,如
1.23
,3.14
,-9.01
,等等。但是對于很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以寫成1.2e-5
,等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四舍五入的誤差。
字符串
字符串是以單引號
'
或雙引號
"
括起來的任意文本,比如'abc'
,"xyz"
等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'
只有a,b,c這3個字符。如果'
本身也是一個字符,那就可以用""
括起來,比如"I'm OK"
包含的字符是I
,'
,m
,空格,O
,K
這6個字符。
如果字符串內部既包含'又包含"怎么辦?可以用轉義字符\來標識,比如:
'I\'m \"OK\"!'
表示的字符串內容是:
I'm "OK"!
轉義字符\
可以轉義很多字符,比如\n
表示換行,\t
表示制表符,字符\
本身也要轉義,所以\\
表示的字符就是\
,可以在Python的交互式命令行用print()
打印字符串看看:
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\
如果字符串里面有很多字符都需要轉義,就需要加很多\
,為了簡化,Python還允許用r''
表示''
內部的字符串默認不轉義:
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\
如果字符串內部有很多換行,用\n
寫在一行里不好閱讀,為了簡化,Python允許用'''...'''
的格式表示多行內容:
>>> print('''line1
... line2
... line3''')
line1
line2
line3
上面是在交互式命令行內輸入,注意在輸入多行內容時,提示符由>>>
變?yōu)?code>...,提示你可以接著上一行輸入,注意...
是提示符,不是代碼的一部分:
當輸入完結束符
```
和括號)
后,執(zhí)行該語句并打印結果。多行字符串
'''...'''
還可以在前面加上r
使用:
print(r'''hello,\n
world''')
布爾值
布爾值和布爾代數的表示完全一致,一個布爾值只有
True
、False
兩種值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
布爾值可以用and
、or
和not
運算。
and運算是與運算,只有所有都為True,and運算結果才是True:
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True
or運算是或運算,只要其中有一個為True,or運算結果就是True:
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True
not運算是非運算,它是一個單目運算符,把True變成False,F(xiàn)alse變成True:
>>> not True
False
>>> not False
True
>>> not 1 > 2
True
布爾值經常用在條件判斷中,比如:
if age >= 18:
print('adult')
else:
print('teenager')
空值
空值是Python里一個特殊的值,用
None
表示。None
不能理解為0,因為0是有意義的,而None
是一個特殊的空值。