Python基礎(chǔ)-2
數(shù)據(jù)類型
- number(數(shù)字類型)
- bool(布爾)
- str(字符串)
- list(列表)
- tuple(元組)
- set(集合)
- dict(字典)
其中:
- 不可變數(shù)據(jù):number(數(shù)字類型)袜瞬、bool(布爾)兑燥、str(字符串)、tuple(元組);
- 可變數(shù)據(jù):list(列表)、set(集合)、dict(字典)蔗坯。
在python中,聲明變量是不需要指定類型的燎含,還可以同時(shí)進(jìn)行多個(gè)變量的賦值(不同類型)
a, b, c = 1, 2, "柒哥"
數(shù)字類型 --- int宾濒、float、complex
數(shù)字類型包含三種:整數(shù)屏箍、浮點(diǎn)數(shù)和復(fù)數(shù)绘梦。此外,布爾值屬于整數(shù)的子類型铣除。
- 整數(shù)具有無限的精度谚咬;
- 浮點(diǎn)數(shù)通常使用 C 中的
double
來實(shí)現(xiàn) - 復(fù)數(shù)包含實(shí)部和虛部,分別以一個(gè)浮點(diǎn)數(shù)表示尚粘。 要從一個(gè)復(fù)數(shù) z 中提取這兩個(gè)部分择卦,可使用
z.real
和z.imag
a, b, c = 20, 5.5, 4+3j
# a 賦值為 整數(shù)
# b 賦值為 浮點(diǎn)數(shù)
# c 賦值為 復(fù)數(shù)
整數(shù) | 浮點(diǎn)數(shù) | 復(fù)數(shù) |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2E-12 | 4.53e-7j |
布爾類型 --- bool
布爾值使用常量True和False來表示(注意大小寫)
- 比較運(yùn)算符的返回都是bool類型
- 在python中,bool類型是整數(shù)類型的子類,所以
True == 1
False == 0
True 或 False 的判定:
-
以下會被判定為 False :
None
False
任何數(shù)字類型的零秉继,例如 0祈噪、0.0、0j尚辑。
任何空序列辑鲤,例如,''杠茬、()月褥、[]。
任何空映射瓢喉,例如 {}宁赤。
-
用戶定義類的實(shí)例,如果該類定義了 bool() 或 len() 方法栓票,當(dāng)該方法返回整數(shù)零或 bool 值 False 時(shí)决左。
class alfalse(): def __bool__(self): # 定義了 __bool__() 方法,始終返回False return False class alzero(): def __len__(self): # 定義了 __len__() 方法走贪,始終返回0 return 0
除了以上的佛猛,其他的表達(dá)式均會被判定為 True;需要注意的是這個(gè)與其他的語言有比較大的不同
字符串 --- str
在 Python 中處理文本數(shù)據(jù)是使用 str
對象坠狡,也稱為 字符串继找。 字符串是由 Unicode 碼位構(gòu)成的不可變 序列。
字符串定義:
-
使用單引號 ' 或雙引號 " 括起來擦秽,同時(shí)使用反斜杠 \ 轉(zhuǎn)義特殊字符码荔,當(dāng)然還有三引號 ''' 的多行字符串。
- 單引號:
'允許包含有 "雙" 引號'
- 雙引號:
"允許包含有 '單' 引號"
感挥。 - 三重引號:
'''三重單引號'''
,"""三重雙引號"""
- 單引號:
# 單引號 str = 'hello' # 雙引號 str = "hello" # 單引號包含雙引號 str = 'say "hello"' # 雙引號包含單引號 str = "say 'hello'" str = """ 雙引號的 多行字符串 """ str = ''' 單引號的 多行字符串 '''
字符串的方法后續(xù)會單獨(dú)統(tǒng)計(jì)展示缩搅。
列表類型 --- list
List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型。
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)触幼。列表中元素的類型可以不相同硼瓣,它支持?jǐn)?shù)字,字符串甚至可以包含列表(所謂嵌套)置谦。
列表是寫在方括號 [] 之間堂鲤、用逗號分隔開的元素列表。
使用列表推導(dǎo)式: `[x for x in iterable]
# 常規(guī)定義 list = [] # 空列表 list = [1, "a", [1], {"name": "test"}] # 列表推導(dǎo)式 list = [x for x in range(10)] >>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
元組類型 --- tuple
元組(tuple)與列表類似媒峡,不同之處在于元組的元素不能修改瘟栖。
使用一對圓括號來表示空元組:
()
使用一個(gè)后綴的逗號來表示單元組:
a,
或(a,)
使用以逗號分隔的多個(gè)項(xiàng):
a, b, c
or(a, b, c)
使用內(nèi)置的
tuple()
:tuple()
或tuple(iterable)
# 常規(guī)定義 tuple = () # 空元組 tuple = (50,) # 單個(gè)元素 tuple = ('physics', 'chemistry', 1997, 2000); tuple = (1, 2, 3, 4, 5 ); tuple = "a", "b", "c", "d";
集合類型 --- set
集合(set)是由一個(gè)或數(shù)個(gè)形態(tài)各異的大小整體組成的,構(gòu)成集合的事物或?qū)ο蠓Q作元素或是成員谅阿。
基本功能是進(jìn)行成員關(guān)系測試和刪除重復(fù)元素半哟。
可以使用大括號 { } 或者 set() 函數(shù)創(chuàng)建集合酬滤。
注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來創(chuàng)建一個(gè)空字典寓涨。
# 常規(guī)定義 set(value) set = {value, value1} set = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'} # set可以進(jìn)行集合運(yùn)算 a = set('abracadabra') b = set('alacazam') print(a - b) # a 和 b 的差集 print(a | b) # a 和 b 的并集 print(a & b) # a 和 b 的交集 print(a ^ b) # a 和 b 中不同時(shí)存在的元素
字典類型 --- dict
字典(dictionary)是Python中另一個(gè)非常有用的內(nèi)置數(shù)據(jù)類型盯串。
字典是通過名字來引用值的數(shù)據(jù)結(jié)構(gòu),并且把這種數(shù)據(jù)結(jié)構(gòu)稱為映射戒良,字典中的值沒有特殊的順序体捏,都存儲在一個(gè)特定的鍵(key)下,鍵可以是數(shù)字糯崎、字符串甚至元組几缭。字典也是python中唯一內(nèi)建的映射類型
字典是一種映射類型,字典用 { } 標(biāo)識沃呢,它是一個(gè)無序的 鍵(key) : 值(value) 的集合奏司。
鍵(key)必須使用不可變類型。
在同一個(gè)字典中樟插,鍵(key)必須是唯一的。
# 常規(guī)定義 dict = {} # 空字典 dict['one'] = "1 - 菜鳥教程" dict[2] = "2 - 菜鳥工具" dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}; # 構(gòu)造函數(shù)創(chuàng)建 dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) dict(Runoob=1, Google=2, Taobao=3) # 推導(dǎo)式 dict = {x: x**2 for x in (2, 4, 6)}
-
注意:
- 1竿刁、字典是一種映射類型黄锤,它的元素是鍵值對。
- 2食拜、字典的關(guān)鍵字必須為不可變類型鸵熟,且不能重復(fù)。