標(biāo)準(zhǔn)數(shù)據(jù)類型
Python 3 中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:
- Number(數(shù)字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Set(集合)
- Dictionary(字典)
Number - 數(shù)字
Python 3 支持
int
肢簿、float
、bool
、complex(復(fù)數(shù))
PS: 內(nèi)置的 type() 函數(shù)可以用來(lái)查詢變量所指的對(duì)象類型
a = 21
b = 8.8
c = True
d = 4+3j
print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
int - 整數(shù)
- 在 32 位機(jī)器上,整數(shù)的位數(shù)為 32 位,取值范圍為 -2**31~2**31-1,即 -2147483648~2147483647
- 在 64 位系統(tǒng)上锉矢,整數(shù)的位數(shù)為64位,取值范圍為 -2**63~2**63-1齿尽,即 -9223372036854775808~9223372036854775807
float - 浮點(diǎn)數(shù)
- 浮點(diǎn)數(shù)用來(lái)處理實(shí)數(shù)沽损,即帶有小數(shù)的數(shù)字
- 如 1.23,3.14循头,-8.21
bool - 布爾值
Python3 中绵估,把
True
和False
定義成關(guān)鍵字了,但它們的值還是1
和0
卡骂,它們可以和數(shù)字相加
可以通過布爾運(yùn)算計(jì)算出來(lái)
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
可以和數(shù)字相加
>>> print(True + 7)
8
>>> print(False + 7)
7
布爾值可以用and
国裳、or
和not
運(yùn)算
-
and
運(yùn)算是與運(yùn)算,只有所有都為True
全跨,and
運(yùn)算結(jié)果才是True
:
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True
-
or
運(yùn)算是或運(yùn)算缝左,只要其中有一個(gè)為True
,or
運(yùn)算結(jié)果就是True
:
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True
-
not
運(yùn)算是非運(yùn)算浓若,它是一個(gè)單目運(yùn)算符渺杉,把True
變成False
,False
變成True
:
>>> not True
False
>>> not False
True
>>> not 1 > 2
True
String - 字符串
字符串是以單引號(hào)'...'
或雙引號(hào)"..."
括起來(lái)的任意文本挪钓,比如'abc'
是越,"xyz"
等等。
轉(zhuǎn)義字符\
可以轉(zhuǎn)義很多字符诵原,比如\n
表示換行英妓,\t
表示制表符挽放,字符\
本身也要轉(zhuǎn)義绍赛,所以\\
表示的字符就是\
如果字符串里面有很多字符都需要轉(zhuǎn)義蔓纠,就需要加很多\
,為了簡(jiǎn)化吗蚌,Python還允許用r'...'
表示'...'
內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義:
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\
如果字符串內(nèi)部有很多換行腿倚,用\n
寫在一行里不好閱讀,為了簡(jiǎn)化蚯妇,Python允許用'''...'''
的格式表示多行內(nèi)容
命令行內(nèi)輸入
>>> print('''hello
... mazy
... morning
... bye''')
hello
mazy
morning
bye
程序中輸入
print('''hello
mazy
morning
bye''')
PS: 字符串是 %s
;整數(shù) %d
;浮點(diǎn)數(shù) %f
字符串的截取的語(yǔ)法格式如下:
變量[頭下標(biāo):尾下標(biāo)]
索引值以 0 為開始值敷燎,-1 為從末尾的開始位置。
str = 'Mazy_ma'
print(str) # 輸出字符串
print(str[0]) # 輸出字符串第一個(gè)字符
print(str[0:-1]) # 輸出第一個(gè)到倒數(shù)第二個(gè)的所有字符
print(str[2:5]) # 輸出從第三個(gè)開始到第五個(gè)的字符
print(str[2:]) # 輸出從第三個(gè)開始的后的所有字符
print(str * 2) # 輸出字符串兩次
print("hello " + str) # 連接字符串
執(zhí)行以上程序會(huì)輸出如下結(jié)果:
Mazy_ma
M
Mazy_m
zy_
zy_ma
Mazy_maMazy_ma
hello Mazy_ma
注意:
- 1箩言、反斜杠可以用來(lái)轉(zhuǎn)義硬贯,使用r可以讓反斜杠不發(fā)生轉(zhuǎn)義
- 2、字符串可以用
+
運(yùn)算符連接在一起陨收,用*
運(yùn)算符重復(fù)操作 - 3饭豹、Python 中的字符串有兩種索引方式,從左往右以
0
開始务漩,從右往左以-1
開始 - 4拄衰、Python中的字符串不能改變
List - 列表
- List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型
- 列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。列表中元素的類型可以不相同饵骨,它支持?jǐn)?shù)字翘悉,字符串甚至可以包含列表(所謂嵌套)
- 列表是寫在方括號(hào)
[...]
之間、用逗號(hào)分隔開的元素列表
和字符串一樣居触,列表同樣可以被索引和截取妖混,列表被截取后返回一個(gè)包含所需元素的新列表
創(chuàng)建列表:
name_list = ['Mazy', 'Vivian', 'Eric']
或
name_list = list(['Mazy', 'Vivian', 'Eric'])
- List是一種有序的集合,可以隨時(shí)添加和刪除其中的元素
- 用索引來(lái)訪問
list
中每一個(gè)位置的元素轮洋,記得索引是從0
開始的 - 如果要取最后一個(gè)元素制市,除了計(jì)算索引位置外,還可以用
-1
做索引砖瞧,直接獲取最后一個(gè)元素
列表截取的語(yǔ)法格式如下:
列表[頭下標(biāo):尾下標(biāo)]
索引值以 0
為開始值息堂,-1
為從末尾的開始位置
加號(hào)+
是列表連接運(yùn)算符,星號(hào)*
是重復(fù)操作
實(shí)例:
list = ['Mazy', 798, 'Owen',6.68, True]
tinylist = [123, 'Angular']
print(list) # 輸出完整列表
print(list[0]) # 輸出列表第一個(gè)元素
print(list[1:3]) # 從第二個(gè)開始輸出到第三個(gè)元素
print(list[2:]) # 輸出從第三個(gè)元素開始的所有元素
print(tinylist * 2) # 輸出兩次列表
print(list + tinylist) # 連接列表
執(zhí)行以上程序會(huì)輸出如下結(jié)果:
['Mazy', 798, 'Owen', 6.68, True]
Mazy
[798, 'Owen']
['Owen', 6.68, True]
[123, 'Angular', 123, 'Angular']
['Mazy', 798, 'Owen', 6.68, True, 123, 'Angular']
注意:
- 1块促、List 寫在方括號(hào)之間荣堰,元素用逗號(hào)
,
隔開 - 2、和字符串一樣竭翠,List 可以被索引和切片
- 3振坚、List 可以使用
+
操作符進(jìn)行拼接 - 4、List 中的元素是可以改變的
Tuple - 元組 (不可變列表)
元組
tuple
與列表類似斋扰,不同之處在于元組的元素不能修改渡八。元組寫在小括號(hào)()
里啃洋,元素之間用逗號(hào),
隔開
創(chuàng)建元組:
ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
tuple = ('Mazy', 798, 'Owen',6.68, True)
tinytuple = (123, 'Angular')
print(tuple) # 輸出完整元組
print(tuple[0]) # 輸出元組的第一個(gè)元素
print(tuple[1:3] ) # 輸出從第二個(gè)元素開始到第三個(gè)元素
print(tuple[2:]) # 輸出從第三個(gè)元素開始的所有元素
print(tinytuple * 2) # 輸出兩次元組
print(tuple + tinytuple) # 連接元組
執(zhí)行以上程序會(huì)輸出如下結(jié)果:
('Mazy', 798, 'Owen', 6.68, True)
Mazy
(798, 'Owen')
('Owen', 6.68, True)
(123, 'Angular', 123, 'Angular')
('Mazy', 798, 'Owen', 6.68, True, 123, 'Angular')
雖然tuple
的元素不可改變,但它可以包含可變的對(duì)象
屎鳍,比如list列表
宏娄。
構(gòu)造包含 0 個(gè)或 1 個(gè)元素的元組比較特殊,所以有一些額外的語(yǔ)法規(guī)則:
tup1 = () # 空元組
tup2 = (20,) # 一個(gè)元素逮壁,需要在元素后添加逗號(hào)
注意:
- 1孵坚、與字符串一樣,元組的元素不能修改
- 2窥淆、元組也可以被索引和切片卖宠,方法一樣
- 3、注意構(gòu)造包含 0 或 1 個(gè)元素的元組的特殊語(yǔ)法規(guī)則
- 4忧饭、元組也可以使用+操作符進(jìn)行拼接
Set - 集合
- 集合
set
是一個(gè)無(wú)序不重復(fù)元素的序列 - 基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素
- 可以使用大括號(hào)
{ }
或者set()
函數(shù)創(chuàng)建集合
注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { }扛伍,因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
# 或者
# 通過元祖建立集合
name_tuple = ('Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose')
print(set(name_tuple)) # {'Tom', 'Mary', 'Rose', 'Jim', 'Jack'}
# 通過列表建立集合
name_list = ['Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose']
print(set(name_list)) # {'Tom', 'Mary', 'Rose', 'Jim', 'Jack'}
Dictionary - 字典
- 字典
Dictionary
是 Python 中另一個(gè)非常有用的內(nèi)置數(shù)據(jù)類型 - 列表是有序的對(duì)象結(jié)合,字典是無(wú)序的對(duì)象集合词裤。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來(lái)存取的刺洒,而不是通過偏移存取
- 字典是一種映射類型,字典用
{ }
標(biāo)識(shí)亚斋,它是一個(gè)無(wú)序的 鍵key
: 值value
對(duì)集合 - 鍵
key
必須使用不可變類型 - 在同一個(gè)字典中作媚,鍵
key
必須是唯一的
創(chuàng)建字典:
person = {"name": "Joy", 'age': 18}
或
person = dict({"name": "Joy", 'age': 18})
注意:
- 1、字典是一種映射類型帅刊,它的元素是鍵值對(duì)
- 2纸泡、字典的關(guān)鍵字必須為不可變類型,且不能重復(fù)
- 3赖瞒、創(chuàng)建空字典使用
{ }
變量 - Variables
Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.
- Python 中的變量不需要聲明女揭。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建
- 在 Python 中栏饮,變量就是變量吧兔,它沒有類型,我們所說(shuō)的
"類型"
是變量所指的內(nèi)存中對(duì)象的類型 - 等號(hào)
(=)
用來(lái)給變量賦值, 等號(hào)(=)
運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)
運(yùn)算符右邊是存儲(chǔ)在變量中的值
示例:
count = 100 # 整型變量
miles = 1000.0 # 浮點(diǎn)型變量
name = "mazy" # 字符串
多個(gè)變量賦值
a = b = c = 1
# 等價(jià)于:
a = 1
b = 1
c = 1
a, b, c = 1, 2.8, "mazy"
# 等價(jià)于:
a = 1
b = 2.8
c = "mazy"
空值 - None
空值是Python里一個(gè)特殊的值袍嬉,用
None
表示境蔼。None
不能理解為0
,因?yàn)?code>0是有意義的伺通,而None
是一個(gè)特殊的空值