基本數據類型 標準數據類型 常見數據類型: Number(數字) String(字元串) bool(布爾類型) List(列表) Tuple(元組) Set(集合) Dictionary(字典) 六個標準數據類型中: 不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元 ...
基本數據類型
標準數據類型
常見數據類型:
Number(數字)
String(字元串)
bool(布爾類型)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)
六個標準數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組);
可變數據(3 個):List(列表)、Set(集合)、Dictionary(字典)。
一些高級的數據類型:
如: 位元組數組類型(bytes)。
不可改變元素值如下三個:
一、Number(數字)
- Python3 支持 int、float、bool、complex(複數)。
- 在Python 3里,只有一種整數類型int,表示為長整型,沒有 python2 中的 Long。
二、String(字元串)
- Python中的字元串用單引號 ' 或雙引號 " 括起來,同時使用
反斜杠 \
轉義特殊字元。用r
不轉義 - 字元串截取語法格式:
變數[頭下標:尾下標]
索引值以 0 為開始值,-1 為從末尾的開始位置。 - Python字元串不能改變。改變如:word[0] = 'm' 會導致錯誤。
三、Tuple (元組)
- 元組(tuple)與列表類似,不同之處在於
元組的元素不能修改
。元組寫在小括弧()
里,元素之間用逗號,
隔開。 - 元組中的元素類型也可以不相同:
- 可以把字元串看作一種特殊的元組。
- 元組可以被索引且下標索引從
0
開始,-1
為從末尾開始的位置,也可以進行截取 - 空元組和只有一個元素的元組
可改變元素的值如下三個:
四、List(列表)
List(列表)
是Python
中使用最頻繁的數據類型- 與
Python
字元串不一樣的是,列表中的元素是可以改變的 - 列表是寫在方括弧
[ ]
之間、用,
分隔開的元素列表 - 列表截取的語法格式如下:
變數[頭下標:尾下標:步長]
,如果第三個參數為負數表示逆向讀取 - 索引值以
0
為開始值,-1
為從末尾的開始位置 - 加號
+
是列表連接運算符,星號*
是重覆操作
五、Set (集合)
- Python 中的集合(Set)是一種
無序、可變
的數據類型,用於存儲唯一的元素。 集合中的元素不會重覆
,並且可以進行交集、並集、差集等常見的集合操作。- 在 Python 中,集合使用大括弧
{}
表示,元素之間用逗號,
分隔。 - 另外,也可以使用 set() 函數創建集合。 創建一個空集合必須用
set()
而不是 { },因為 { } 是用來創建一個空字典。
創建格式:parame = {value01,value02,...}
或者set(value)
六、Dictionary(字典)
- 字典(dictionary)是Python中另一個非常有用的內置數據類型
列表是有序
的對象集合,字典是無序
的對象集合。
兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。- 字典是一種映射類型,字典用
{ }
標識,它是一個無序的鍵(key) : 值(value)
的集合。
鍵(key)必須用不可變類型。同一個字典,鍵(key)唯一
。 - 字典元素是
鍵值對
。 - 字典類型也有一些內置的函數,例如 clear()、keys()、values() 等。
此外 布爾類型只有兩個值:True 和 False
七、bool(布爾類型)
- 布爾類型
只有兩個值:True 和 False
- Python中,True 和 False 都是關鍵字,表示布爾值。
- 布爾類型可以用來
控製程序的流程
- 布爾類型可以和其他數據類型進行比較或者轉換時,
True 會被轉換成 1,False 會被轉換成 0
。
一些高級的數據類型
八、bytes類型
- Python3中,bytes 類型表示
不可變的二進位序列
(byte sequence)。通常用於處理二進位數據
- bytes元素是
整數值(0到255之間的整數)
,不是 Unicode 字元。 創建 bytes 對象
的方式有多種,最常見
的方式是使用b首碼
bytes()函數
將其他類型
的對象轉換為bytes類型
。 bytes() 函數的第一個參數是要轉換的對象
,第二個參數是編碼方式
,如省略第二個參數,則預設UTF-8 編碼
九、總結:列表 元組,集合,字典
- 創建空列表 空元組,空集合,空字典
(dict = {} #空字典 (註意區分空集合 set() 而不是set= {})) - 搞清楚元素類型可以相同嗎 ,元素可以改變嗎?
十、Python數據類型轉換
-
數據類型的轉換,你只需要將數據類型
作為函數名
即可 -
不同數據類型之間
不一定能隨意轉化
取決於原始數據是否能夠提供足夠的信息來表示目標類型。
整數可轉換為字元串,因為每一個整數都有一個明確的字元串表示(例如,整數123可以表示為字元串"123")。
對於一個非數字字元串(如"Hello"),它無法被轉換為一個整數或浮點數,因為這個字元串並不包含任何可以表示一個數字的信息。
-
高和低數據類型表示
數據精度
。即數據類型能夠表示的信息量或詳細程度 -
Python 數據類型轉換可以分為兩種:
(1)
隱式
類型轉換 -自動
完成 。(Python會自動將一種數據類型轉換為另一種,不需要我們去干預)
較低
數據類型(整數)就會轉
換為較高
數據類型(浮點數)以避免數據丟失。(2)
顯式
類型轉換 - 需要使用類型函數
來轉換。高轉低
x =1
s= [1,12]
d = {}
float( x ) # 將x轉換到一個浮點數將x轉換到一個浮點數
str(x) #將對象 x 轉換為字元串
tuple(s) #將序列 s 轉換為一個元組
list(s) #將序列 s 轉換為一個列表
set(s) #轉換為可變集合
dict(d) #創建一個字典。d 必須是一個 (key, value)元組序列。
Python3 算術運算符
算術運算符
比較(關係)運算符
賦值運算符
邏輯運算符
位運算符
成員運算符
身份運算符
運算符優先順序
(詳情見https://www.runoob.com/python3/python3-basic-operators.html)
一、python3 數字 Number
數據類型是不允許改變的,這就意味著如果改變數字數據類型的值,將重新分配記憶體空間。
可以使用del語句刪除一些數字對象的引用。
#del語句的語法是:
del var1[,var2[,var3[....,varN]]]
1、Python 支持三種不同的數值類型:
整型(int)
- 通常被稱為是整型或整數,是正或負整數,
不帶小數點
。Python3 整型是沒有限制大小的,可以當作 Long 類型使用
,所以 Python3 沒有 Python2 的 Long 類型。布爾(bool)是整型的子類型
。 - 可以使用十六進位和八進位來代表整數
浮點型(float)
- 浮點型由
整數部分與小數部分
組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)
複數( (complex))
- 複數由
實數
部分和虛數
部分構成,可以用a + bj
,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型
。
2、Python 數字類型轉換
3、Python 數字運算
只讀變數
在交互模式中,最後被輸出的表達式結果被賦值給變數 _ 。例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此處, _ 變數
應被用戶視為只讀變數
。
4、數字函數
函數 | 返回值(描述) |
---|---|
abs(x) | 返回數字的絕對值,如abs(-10) 返回 10 |
max(x1,x2,...) | 返回給定參數的最大值,參數可以為序列。 |
min(x1,x2,...) | 返回給定參數的最小值,參數可以為序列。 |
sqrt(x) | 返回數字x的平方根。 |
5、隨機數函數
函數 | 描述 |
---|---|
choice(seq) | 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。 |
uniform(x,y) | 隨機生成下一個實數,它在[x,y]範圍內。 |
random() | 隨機生成下一個實數,它在[0,1)範圍內。 |
6、三角函數
略
7、數字常量
常量 | 描述 |
---|---|
pi | 數學常量 pi(圓周率,一般以π來表示) |
e | 數學常量 e,e即自然常數(自然常數)。 |
二、Python3 字元串
字元串是 Python 中最常用的數據類型。我們可以使用引號( ' 或 " )來創建字元串。
創建字元串很簡單,只要為變數分配一個值即可。
1、Python 訪問字元串中的值
Python 不支持單字元類型,單字元在 Python 中也是作為一個字元串使用。
Python 訪問子字元串,可以使用方括弧 [] 來截取字元串。
索引值以 0 為開始值,-1 為從末尾的開始位置。
#字元串的截取的語法格式如下:
變數[頭下標:尾下標]
2、Python 字元串更新
var1 = 'Hello World!'
print ("已更新字元串 : ", var1[:6] + 'Runoob!')
3、Python 轉義字元
反斜杠 \ 轉義字元
r
不發生轉義
4、 Pyhton 字元串運算符
實例變數 a 值為字元串 "Hello",b 變數值為 "Python":
操作符 | 描述 | 實例 |
---|---|---|
+ | 字元串連接 | a + b 輸出結果: HelloPython |
* | 重覆輸出字元串 | a*2 輸出結果” HelloHello |
[:] | 截取字元串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個字元的。 | a[1:4] 輸出結果 ell |
5、Python 字元串格式化
最基本的用法是將一個值插入到一個有字元串格式符 %s 的字元串中。
6、Python三引號
python三引號允許一個字元串跨多行,字元串中可以包含換行符、製表符以及其他特殊字元。
7、f-string字面量格式化字元串
f-string 是 python3.6 之後版本添加的,稱之為字面量格式化字元串,是新的格式化字元串的語法。
之前我們習慣用百分號 (%):
name = 'Runoob'
print('Hello %s'%name)
f-string 格式化字元串以 f 開頭,後面跟著字元串,字元串中的表達式用大括弧 {} 包起來,它會將變數或表達式計算後的值替換進去,實例如下:
name = 'Runoob'
f'Hello{name}'
8、Python3 Unicode字元串
在Python3中,所有的字元串都是Unicode字元串。
Unicode字元串則存儲為16位unicode字元串
9、Python 字元串內建函數
略
三、Python3 列表
訪問列表中的值
1.更新列表,刪除列表元素
2.列表比較
列表比較需要引入 operator 模塊的 eq 方法
import operator
a = [1,2]
b = [2,3]
c = [2,3]
print(operator.eq(a, b))
print(operator.eq(b, c))
3.Python列表函數&方法
Python 包含以下函數
序號 | 函數 | 描述 |
---|---|---|
1 | len(list) | 返回列表元素個數 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 將元組轉換為列表 |
Python 包含以下方法
序號 | 方法 | 描述 |
---|---|---|
1 | list.append(obj) | 在列表末尾添加新的對象 |
2 | list.insert(index,obj) | 將對象插入列表 |
3 | list.pop([index= -1]) | 移除列表中的一個元素,(預設最後一個元素),並且返回該元素的值 |
4 | list.sort(key= None,reverse = False) | 對原列表進行排序 |
4 | list.clear() | 清空列表 |
4 | list.copy | 複製列表 |
四、 Python3 元組
1.元組創建(單個元素元組,空元組),訪問, 修改 ,截取,刪除元組
元組創建只需要在括弧()
中添加元素,使用逗號,
隔開。
元組使用小括弧 ( )
,列表使用方括弧 [ ]
。
元組的元素不能修改(但我們可以對元組進行連接組合
),列表的元素可以修改。
創建空元組
tup1 = ()
元組中只包含一個元素時,需要在元素後面添加逗號,
,否則括弧會被當作運算符使用:
2.元組的索引,截取
因為元組也是一個序列,所以我們可以訪問元組中的指定位置的元素,也可以截取索引中的一段元素,
3. 元組運算符
與字元串一樣,元組之間可以使用 +
、+=
和 *
號進行運算。
這就意味著他們可以組合和複製,運算後會生成一個新的元組。
4.元組內置函數
len(tup)
max(tup)
五、Python3 字典
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值 key=>value 對用冒號 :
分割,每個對之間用逗號(,
)分割,整個字典包括在花括弧 {}
中 ,
格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
值可以取任何數據類型,但鍵必須是不可變的,如字元串,數字。
鍵必須是唯一的,但值則不必。
不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住
鍵必須不可變,所以可以用數字,字元串或元組充當,而用列表就不行
1. 創建空字典
使用大括弧 { }
創建空字典
emptyDict = {}
2.查看字典的數量
print("Length:", len(emptyDict))
3.查看類型
print(type(emptyDict))
4.訪問字典里的值
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
5.修改字典,刪除字典
向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對
能刪單一的元素也能清空字典,清空只需一項操作。
顯式刪除一個字典用del命令,如下實例:
6.字典內置函數&方法
略
六、集合
集合(set)是一個無序的不重覆(元素重覆會自動刪除)元素序列。
可以進行交集、並集、差集等常見的集合操作。
集合對 list 和 tuple 具有排序(升序)
1. 集合的創建
可以使用大括弧{}
創建,元素之間用逗號 ,
分隔
也可以使用 set() 函數創建集合。
#語法格式
parame = {value01,value02,...}
#或者
set(value)
2. 集合的基本操作
添加元素
#兩種函數,註意區別
s.add( x )
#或
s.update( x )
s.update( "字元串" ) 與 s.update( {"字元串"} ) 含義不同,註意區別
刪除元素
#兩種函數,註意區別
s.remove( x )
#或
s.discard( x )
#隨機刪除集合中的一個元素
s.pop()
#set 集合的 pop 方法會對集合進行無序的排列,然後將這個無序排列集合的左面第一個元素進行刪除
3.計算集合元素個數
len(s)
4. 清空集合
s.clear()
5. 判斷元素是否在集合中存在
x in s