1.數(shù)據(jù)類(lèi)型
數(shù)據(jù)類(lèi)型在數(shù)據(jù)結(jié)構(gòu)中的定義是一個(gè)值的集合以及定義在這個(gè)值集上的一組操作。
簡(jiǎn)單來(lái)說(shuō),就是特指某一種數(shù)據(jù),他們具有相同的特征,可以進(jìn)行相同的操作。
1.1整型 (int)
integer -> [??nt?d??]
Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在程序中的表示方法和數(shù)學(xué)上的寫(xiě)法一模一樣,例如:1,100,-8080,0,等等。
計(jì)算機(jī)由于使用二進(jìn)制,所以,有時(shí)候用十六進(jìn)制表示整數(shù)比較方便,十六進(jìn)制用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
1.2浮點(diǎn)數(shù)(float)
float -> [flot]
浮點(diǎn)數(shù)也就是小數(shù),之所以稱(chēng)為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)記數(shù)法表示時(shí),一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的,比如,1.23x109和12.3x108是完全相等的。浮點(diǎn)數(shù)可以用數(shù)學(xué)寫(xiě)法,如1.23,3.14,-9.01,等等。但是對(duì)于很大或很小的浮點(diǎn)數(shù),就必須用科學(xué)計(jì)數(shù)法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫(xiě)成1.2e-5,等等。
1.3字符串(string)
string -> [str??]
字符串是以單引號(hào)'或雙引號(hào)"括起來(lái)的任意文本,比如'abc',"xyz"等等。請(qǐng)注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個(gè)字符。如果'本身也是一個(gè)字符,那就可以用""括起來(lái),比如"I'm OK"
包含的字符是I,',m,空格,O,K這6個(gè)字符。
1.4布爾值(bool)
bool -> [bu:l]
布爾值和布爾代數(shù)的表示完全一致,一個(gè)布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值。
1.5空值
空值是Python里一個(gè)特殊的值,用None表示。None不能理解為0,因?yàn)?是有意義的,而None是一個(gè)特殊的空值
2.變量
變量是用來(lái)存儲(chǔ)值的所在處,它們有名字和數(shù)據(jù)類(lèi)型。變量的數(shù)據(jù)類(lèi)型決定了如何將代表這些值的位存儲(chǔ)到計(jì)算機(jī)的內(nèi)存中。
大家類(lèi)比一下現(xiàn)實(shí)生活中,比如去超市買(mǎi)東西,往往咱們需要一個(gè)菜籃子,用來(lái)進(jìn)行存儲(chǔ)物品。
在Python中,存儲(chǔ)一個(gè)數(shù)據(jù),需要一個(gè)叫做變量的東西,如下示例:
# -*- coding:utf-8 -*-
num1 = 100 #num1就是一個(gè)變量,就好一個(gè)小菜籃子
num2 = 87 #num2也是一個(gè)變量
result = num1 + num2 #把num1和num2這兩個(gè)"菜籃子"中的數(shù)據(jù)進(jìn)行累加,然后放到 result變量中
說(shuō)明:
- 所謂變量,可以理解為菜籃子,如果需要存儲(chǔ)多個(gè)數(shù)據(jù),最簡(jiǎn)單的方式是有多個(gè)變量,當(dāng)然了也可以使用一個(gè)
- 程序就是用來(lái)處理數(shù)據(jù)的,而變量就是用來(lái)存儲(chǔ)數(shù)據(jù)的
怎樣知道一個(gè)變量的類(lèi)型呢?
在python中,只要定義了一個(gè)變量,而且它有數(shù)據(jù),那么它的類(lèi)型就已經(jīng)確定了,不需要咱們開(kāi)發(fā)者主動(dòng)的去說(shuō)明它的類(lèi)型,系統(tǒng)會(huì)自動(dòng)辨別,可以使用type(變量的名字),來(lái)查看變量的類(lèi)型。
如下示例:
# -*- coding:utf-8 -*-
a = 101 # 整型
b = 1.11 # 浮點(diǎn)型
c = 'abc' # 字符串
d = True # 布爾值
e = 0xff00 # 十六進(jìn)制整型
print (type(a))
print (type(b))
print (type(c))
print (type(d))
print (type(e))
說(shuō)明:print()是python3的語(yǔ)法,python2的語(yǔ)法是print后面不使用(),print type(a)
打印信息:
<type 'int'>
<type 'float'>
<type 'str'>
<type 'bool'>
<type 'int'>
3.運(yùn)算符
運(yùn)算符用于執(zhí)行程序代碼運(yùn)算,會(huì)針某幾個(gè)數(shù)據(jù)來(lái)進(jìn)行運(yùn)算。例如:2+3,其操作數(shù)是2和3,而運(yùn)算符則是“+”。
python支持以下幾種運(yùn)算符:
- ** 算術(shù)運(yùn)算符**
運(yùn)算符 | 描述 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
// | 取整除 |
% | 取余 |
** | 冪 |
- 賦值運(yùn)算符
運(yùn)算符 | 描述 | 實(shí)例 |
---|---|---|
= | 賦值運(yùn)算符 | 把=號(hào)右邊的結(jié)果給左邊的變量 num=1+2*3 結(jié)果num的值為7 |
- 復(fù)合賦值運(yùn)算符
運(yùn)算符 | 描述 | 實(shí)例 |
---|---|---|
+= | 加法賦值運(yùn)算符 | c += a 等效于 c = c + a |
-= | 減法賦值運(yùn)算符 | c -= a 等效于 c = c - a |
*= | 乘法賦值運(yùn)算符 | c *= a 等效于 c = c * a |
/= | 除法賦值運(yùn)算符 | c /= a 等效于 c = c / a |
%= | 取模賦值運(yùn)算符 | c %= a 等效于 c = c % a |
**= | 冪賦值運(yùn)算符 | c * *= a 等效于 c = c * * a |
//= | 取整除賦值運(yùn)算符 | c //= a 等效于 c = c // a |
- 關(guān)系運(yùn)算符
運(yùn)算符 | 描述 | 示例 |
---|---|---|
== | 檢查兩個(gè)操作數(shù)的值是否相等,如果是則條件變?yōu)檎妗?/td> | 如a=3,b=3則(a == b) 為 true. |
!= | 檢查兩個(gè)操作數(shù)的值是否相等,如果值不相等,則條件變?yōu)檎妗?/td> | 如a=1,b=3則(a != b) 為 true. |
<> | 檢查兩個(gè)操作數(shù)的值是否相等,如果值不相等,則條件變?yōu)檎妗?/td> | 如a=1,b=3則(a <> b) 為 true。這個(gè)類(lèi)似于 != 運(yùn)算符 |
> | 檢查左操作數(shù)的值是否大于右操作數(shù)的值,如果是,則條件成立。 | 如a=7,b=3則(a > b) 為 true. |
< | 檢查左操作數(shù)的值是否小于右操作數(shù)的值,如果是,則條件成立。 | 如a=7,b=3則(a < b) 為 false. |
>= | 檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值,如果是,則條件成立。 | 如a=3,b=3則(a >= b) 為 true. |
<= | 檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值,如果是,則條件成立。 | 如a=3,b=3則(a <= b) 為 true. |
- 邏輯運(yùn)算符
運(yùn)算符 | 邏輯表達(dá)式 | 描述 | 實(shí)例 |
---|---|---|---|
and | x and y | 布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計(jì)算值。 | (a and b) 返回 20。 |
or | x or y | 布爾"或" - 如果 x 是 True,它返回 True,否則它返回 y 的計(jì)算值。 | (a or b) 返回 10。 |
not | not x | 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 | not(a and b) 返回 False |