1、變量
1)Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。
2)在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。
3)等號(=)用來給變量賦值
4)等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值
counter = 100 # 整型變量
miles = 1000.0 # 浮點型變量
name = "runoob" # 字符串
print(counter)
print(miles)
print(name)
2、多個變量賦值
Python允許你同時爲多個變量賦值,並且類型可以不同
# 2、多個變量賦值
# Python允許你同時爲多個變量賦值,並且類型可以不同
print('2、多個變量賦值')
#以上實例,創建一個整型對象,值爲 1,從後向前賦值,三個變量被賦予相同的數值
a=b=c=1
#兩個整型對象 3 和 4 的分配給變量 e 和 d,字符串對象 "test" 分配給變量 f
e, d, f = 3, 4, "test"
print(str(a)+','+str(b)+','+str(c))
print(str(e)+','+str(d)+','+f)
3、標準數據類型
Number(數字)
String(字符串)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)
Python3 的六個標準數據類型中:
不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
4.1、Number(數字)
1)Python3 支持 int、float、bool、complex(複數)。
2)在Python 3裏,只有一種整數類型 int,表示爲長整型,沒有 python2 中的 Long。 像大多數語言一樣,數值類型的賦值和計算都是很直觀的。
3)內置的 type() 函數可以用來查詢變量所指的對象類型。
4)此外還可以用 isinstance 來判斷 isinstance 和 type 的區別在於: type()不會認爲子類是一種父類類型 isinstance()會認爲子類是一種父類類型
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
print('a是否是整形? '+str(isinstance(a, int)))
'''
使用del語句刪除一些對象引用,刪除引用後,後面該對象無法使用
del語句的語法是
del var1[,var2[,var3[....,varN]]]
'''
var1 = 10
var2 = 'abc'
del var1,var2
'''
數值運算
注意:
1、Python可以同時爲多個變量賦值,如a, b = 1, 2。
2、一個變量可以通過賦值指向不同類型的對象。
3、數值的除法包含兩個運算符:/ 返回一個浮點數,// 返回一個整數。
4、在混合計算時,Python會把整型轉換成爲浮點數。
'''
print(5 + 4) # 加法
print(4.3 - 2) # 減法
print(3 * 7) # 乘法
print(2 / 4) # 除法,得到一個浮點數
print(2 // 4) # 取整除 - 向下取接近除數的整數
print(17 % 3) # 取餘
print(2 ** 5) # 乘方
4.2 字符串
1) Python中的字符串用單引號 ' 或雙引號 " 括起來,同時使用反斜槓 \ 轉義特殊字符 .
如果你不想讓反斜槓發生轉義,可以在字符串前面添加一個 r,表示原始字符串:
2) 字符串的截取的語法格式如下
變量[頭下標:尾下標]
索引值以 0 爲開始值,-1 爲從末尾的開始位置
stra = 'python'
print(stra) # 輸出字符串
print('\'',str,'\'的長度爲:',len(stra)) # 輸出字符串
print(stra[0:-1]) # 輸出第一個到倒數第二個的所有字符
print(stra[0]) # 輸出字符串第一個字符
print(stra[2:5]) # 輸出從第三個開始到第五個的字符
print(stra[2:]) # 輸出從第三個開始的後的所有字符
print(stra * 2) # 輸出字符串兩次,也可以寫成 print (2 * str)
print(stra + "Test") # 連接字符串
print('中文'.encode('utf-8')) #中文轉utf-8編碼
print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
name = 'Jame'
print(f'Hello {name}') # 替換變量
print(f'我想要的數字是:{1+2}') # 使用表達式
4.3 List(列表)
1) Python 中使用最頻繁的數據類型;
2)大多數集合類的數據結構實現;
3)列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套);
4)列表是寫在方括號 [] 之間、用逗號分隔開的元素列表;
5)和字符串一樣,列表同樣可以被索引和截取,列表被截取後返回一個包含所需元素的新列表; 列表截取的語法格式如下: 變量[頭下標:尾下標]
6)索引值以 0 爲開始值,-1 爲從末尾的開始位置;
注意:
1)、List寫在方括號之間,元素用逗號隔開
2)、和字符串一樣,list可以被索引和切片
3)、List可以使用+操作符進行拼接
4)、List中的元素是可以改變的
list = ['abcd', 321, 1.22, 'efgh', 34.9]
tinylist = [123, 'test']
print(list) # 輸出完整列表
print(list[0]) # 輸出列表第一個元素
print(list[1:3]) # 從第二個開始輸出到第三個元素
print(list[2:]) # 輸出從第三個元素開始的所有元素
print(tinylist * 2) # 輸出兩次列表
print(list + tinylist) # 連接列表
x=[list,tinylist] # 嵌套列表
print('嵌套列表第0個元素:',x[0])
list.append('cc') # list末尾追加一個元素
print('添加一個元素 cc ,list爲:',list)
del list[2] # 刪除下標爲2的元素
print('刪除後的列表:',end='') #打印輸出後不換行
print(list)
4.3.1 列表推導式
列表推導式提供了從序列創建列表的簡單途徑。通常應用程序將一些操作應用於某個序列的每個元素,
用其獲得的結果作爲生成新列表的元素,或者根據確定的判定條件創建子序列
如果希望表達式推導出一個元組,就必須使用括號
print('列表推導式')
vec = [1,2,3,4,5,6]
newVec = [3*x for x in vec if x > 3]
print('列表推導式推出的元組是:',newVec)
4.3.2 嵌套列表解析
# 3x4的矩陣列表
matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
# 轉換成 4x3 矩陣
print('4x3矩陣列表:',[[row[i] for row in matrix] for i in range(4)])
4.4 Tuple(元組)
元組寫在小括號 () 裏,元素之間用逗號隔開,list是[] '''
1)元組(tuple)與列表類似,不同之處在於元組的元素不能修改
2)元組中的元素類型也可以不相同 3)引且下標索引從0開始,-1 爲從末尾開始的位置。也可以進行截取
4)雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表
5)構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則 tup1 = () # 空元組 tup2 = (20,) # 一個元素,需要在元素後添加逗號
4.5 Set(集合)
1)定義:集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員。
2)基本功能是進行成員關係測試和刪除重複元素。
3)可以使用大括號 { } 或者 set() 函數創建集合,
注意:
創建一個空集合必須用 set() 而不是 { },因爲 { } 是用來創建一個空字典
4)創建格式:
parame = {value01,value02,...}
或者 set(value)
5、實戰代碼如下
#!/usr/bin/python3 #第一行註釋是爲了告訴Linux/OS X系統,這是一個Python可執行程序,Windows系統會忽略這個註釋
# -*- coding: utf-8 -*- #Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼
# 1、變量
print('1、變量')
'''
1)Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。
2)在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。
3)等號(=)用來給變量賦值。
4)等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值
'''
counter = 100 # 整型變量
miles = 1000.0 # 浮點型變量
name = "runoob" # 字符串
print(counter)
print(miles)
print(name)
# 2、多個變量賦值
# Python允許你同時爲多個變量賦值,並且類型可以不同
print('2、多個變量賦值')
#以上實例,創建一個整型對象,值爲 1,從後向前賦值,三個變量被賦予相同的數值
a=b=c=1
#兩個整型對象 3 和 4 的分配給變量 e 和 d,字符串對象 "test" 分配給變量 f
e, d, f = 3, 4, "test"
print(str(a)+','+str(b)+','+str(c))
print(str(e)+','+str(d)+','+f)
#3、標準數據類型
print('3、標準數據類型')
'''
Python3 中有六個標準的數據類型:
Number(數字)
String(字符串)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)
Python3 的六個標準數據類型中:
不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
'''
#4.1、Number(數字)
print('4.1、Number(數字)')
'''
1)Python3 支持 int、float、bool、complex(複數)。
2)在Python 3裏,只有一種整數類型 int,表示爲長整型,沒有 python2 中的 Long。
像大多數語言一樣,數值類型的賦值和計算都是很直觀的。
3)內置的 type() 函數可以用來查詢變量所指的對象類型。
4)此外還可以用 isinstance 來判斷
isinstance 和 type 的區別在於:
type()不會認爲子類是一種父類類型
isinstance()會認爲子類是一種父類類型
'''
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
print('a是否是整形? '+str(isinstance(a, int)))
'''
使用del語句刪除一些對象引用,刪除引用後,後面該對象無法使用
del語句的語法是
del var1[,var2[,var3[....,varN]]]
'''
var1 = 10
var2 = 'abc'
del var1,var2
'''
數值運算
注意:
1、Python可以同時爲多個變量賦值,如a, b = 1, 2。
2、一個變量可以通過賦值指向不同類型的對象。
3、數值的除法包含兩個運算符:/ 返回一個浮點數,// 返回一個整數。
4、在混合計算時,Python會把整型轉換成爲浮點數。
'''
print(5 + 4) # 加法
print(4.3 - 2) # 減法
print(3 * 7) # 乘法
print(2 / 4) # 除法,得到一個浮點數
print(2 // 4) # 取整除 - 向下取接近除數的整數
print(17 % 3) # 取餘
print(2 ** 5) # 乘方
#4.2 字符串
print('4.2、字符串')
'''
1) Python中的字符串用單引號 ' 或雙引號 " 括起來,同時使用反斜槓 \ 轉義特殊字符
如果你不想讓反斜槓發生轉義,可以在字符串前面添加一個 r,表示原始字符串:
2) 字符串的截取的語法格式如下
變量[頭下標:尾下標]
索引值以 0 爲開始值,-1 爲從末尾的開始位置
3)字符串格式化 用%
4)使用f-string格式化
python3.6 之後版本添加的,稱之爲字面量格式化字符串,是新的格式化字符串的語法。
'''
stra = 'python'
print(stra) # 輸出字符串
print('\'',str,'\'的長度爲:',len(stra)) # 輸出字符串
print(stra[0:-1]) # 輸出第一個到倒數第二個的所有字符
print(stra[0]) # 輸出字符串第一個字符
print(stra[2:5]) # 輸出從第三個開始到第五個的字符
print(stra[2:]) # 輸出從第三個開始的後的所有字符
print(stra * 2) # 輸出字符串兩次,也可以寫成 print (2 * str)
print(stra + "Test") # 連接字符串
print('中文'.encode('utf-8')) #中文轉utf-8編碼
print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
name = 'Jame'
print(f'Hello {name}') # 替換變量
print(f'我想要的數字是:{1+2}') # 使用表達式
#4.3 List(列表)
print('4.3 List(列表)')
'''
1) Python 中使用最頻繁的數據類型;
2)大多數集合類的數據結構實現;
3)列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套);
4)列表是寫在方括號 [] 之間、用逗號分隔開的元素列表;
5)和字符串一樣,列表同樣可以被索引和截取,列表被截取後返回一個包含所需元素的新列表;
列表截取的語法格式如下:
變量[頭下標:尾下標]
6)索引值以 0 爲開始值,-1 爲從末尾的開始位置;
注意:
1、List寫在方括號之間,元素用逗號隔開
2、和字符串一樣,list可以被索引和切片
3、List可以使用+操作符進行拼接
4、List中的元素是可以改變的
'''
list = ['abcd', 321, 1.22, 'efgh', 34.9]
tinylist = [123, 'test']
print(list) # 輸出完整列表
print(list[0]) # 輸出列表第一個元素
print(list[1:3]) # 從第二個開始輸出到第三個元素
print(list[2:]) # 輸出從第三個元素開始的所有元素
print(tinylist * 2) # 輸出兩次列表
print(list + tinylist) # 連接列表
x=[list,tinylist] # 嵌套列表
print('嵌套列表第0個元素:',x[0])
list.append('cc') # list末尾追加一個元素
print('添加一個元素 cc ,list爲:',list)
del list[2] # 刪除下標爲2的元素
print('刪除後的列表:',end='') #打印輸出後不換行
print(list)
#列表推導式
'''
列表推導式提供了從序列創建列表的簡單途徑。通常應用程序將一些操作應用於某個序列的每個元素,
用其獲得的結果作爲生成新列表的元素,或者根據確定的判定條件創建子序列
如果希望表達式推導出一個元組,就必須使用括號
'''
print()
print('列表推導式')
vec = [1,2,3,4,5,6]
newVec = [3*x for x in vec if x > 3]
print('列表推導式推出的元組是:',newVec)
#嵌套列表解析
print()
print('嵌套列表解析')
# 3x4的矩陣列表
matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
# 轉換成 4x3 矩陣
print('4x3矩陣列表:',[[row[i] for row in matrix] for i in range(4)])
#4.4 Tuple(元組)
print()
print('4.4 Tuple(元組)')
# 元組寫在小括號 () 裏,需要括號也行,元素之間用逗號隔開,list是[]
'''
1、元組(tuple)與列表類似,不同之處在於元組的元素不能修改 所謂元組的不可變指的是元組所指向的內存中的內容不可變。
2、元組中的元素類型也可以不相同
3、引且下標索引從0開始,-1 爲從末尾開始的位置。也可以進行截取
4、雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表
5、構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則
tup1 = () # 空元組
tup2 = (20,) # 一個元素,需要在元素後添加逗號
'''
tuple = ('abcd', 321, 1.22, 'efgh', 34.9)
tinyTuple = (123, 'test')
testTuple = 'a','b',1
print('元組tuple:',tuple) # 輸出完整列表
print('元組tuple[0]:',tuple[0]) # 輸出列表第一個元素
print('元組tuple[1,3]:',tuple[1:3]) # 從第二個開始輸出到第三個元素
print('元組tuple[2:]:',tuple[2:]) # 輸出從第三個元素開始的所有元素
print('元組tinyTuple輸出兩次:',tinyTuple * 2) # 輸出兩次列表
print('連接元組tuple,tinyTuple:',tuple + tinyTuple) # 連接2個元組
print('元組testTuple:',testTuple) # 輸出完整列表testTuple
del testTuple # 刪除元組
#4.5 Set(集合)
print()
print('4.5 Set(集合')
'''
1)定義:集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員。
2)基本功能是進行成員關係測試和刪除重複元素。
3)可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因爲 { } 是用來創建一個空字典
4)創建格式:
parame = {value01,value02,...}
或者
set(value)
'''
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 輸出集合,重複的元素被自動去掉
# 成員測試
if 'Rose' in student:
print('Rose 在集合中')
else:
print('Rose 不在集合中')
# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
print('打印集合a:',a)
a.add('yyy') # 添加元素 也可以用 a.update('yyy')
print('a集合中添加元素 yyy:',a) # a 和 b 的差集
print('a 和 b 的差集a-b:',a - b) # a 和 b 的差集
print('a 和 b 的並集a|b:',a | b) # a 和 b 的並集
print('a 和 b 的交集:',a & b) # a 和 b 的交集
print('a 和 b 中不同時存在的元素:',a ^ b) # a 和 b 中不同時存在的元素
#4.6 Dictionary(字典)
print()
print('4.6 Dictionary(字典)')
'''
1)字典(dictionary)是Python中另一個非常有用的內置數據類型
2)列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取
字典是一種映射類型,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合
3)鍵(key)必須使用不可變類型 例如:數字、字符串、元組
4)在同一個字典中,鍵(key)必須是唯一的
'''
dict = {}
dict['one'] = "這是第一個元素"
dict[2] = "這是第二個元素"
tinydict = {'name': 'jake', 'code': 131, 'web': 'www.baidu.com'}
del tinydict['name']
print('輸出鍵爲 one 的值',dict['one']) # 輸出鍵爲 'one' 的值
print('輸出鍵爲 2 的值',dict[2]) # 輸出鍵爲 2 的值
print('輸出完整的字典tinydict:',tinydict) # 輸出完整的字典
print('輸出完整的字典tinydict所有鍵',tinydict.keys()) # 輸出所有鍵
print('輸出完整的字典tinydict所有值',tinydict.values()) # 輸出所有值
print('刪除key=name的字典:',tinydict) # 刪除
結果輸出:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\python.exe F:/python-space/test/BaseDataType.py
1、變量
100
1000.0
runoob
2、多個變量賦值
1,1,1
3,4,test
3、標準數據類型
4.1、Number(數字)
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
a是否是整形? True
9
2.3
21
0.5
0
2
32
4.2、字符串
python
' <class 'str'> '的長度爲: 6
pytho
p
tho
thon
pythonpython
pythonTest
b'\xe4\xb8\xad\xe6\x96\x87'
我叫 小明 今年 10 歲!
Hello Jame
我想要的數字是:3
4.3 List(列表)
['abcd', 321, 1.22, 'efgh', 34.9]
abcd
[321, 1.22]
[1.22, 'efgh', 34.9]
[123, 'test', 123, 'test']
['abcd', 321, 1.22, 'efgh', 34.9, 123, 'test']
嵌套列表第0個元素: ['abcd', 321, 1.22, 'efgh', 34.9]
添加一個元素 cc ,list爲: ['abcd', 321, 1.22, 'efgh', 34.9, 'cc']
刪除後的列表:['abcd', 321, 'efgh', 34.9, 'cc']
列表推導式
列表推導式推出的元組是: [12, 15, 18]
嵌套列表解析
4x3矩陣列表: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
4.4 Tuple(元組)
元組tuple: ('abcd', 321, 1.22, 'efgh', 34.9)
元組tuple[0]: abcd
元組tuple[1,3]: (321, 1.22)
元組tuple[2:]: (1.22, 'efgh', 34.9)
元組tinyTuple輸出兩次: (123, 'test', 123, 'test')
連接元組tuple,tinyTuple: ('abcd', 321, 1.22, 'efgh', 34.9, 123, 'test')
元組testTuple: ('a', 'b', 1)
4.5 Set(集合
{'Jim', 'Tom', 'Mary', 'Rose', 'Jack'}
Rose 在集合中
打印集合a: {'d', 'a', 'b', 'c', 'r'}
a集合中添加元素 yyy: {'d', 'yyy', 'a', 'b', 'c', 'r'}
a 和 b 的差集a-b: {'d', 'r', 'b', 'yyy'}
a 和 b 的並集a|b: {'d', 'z', 'yyy', 'a', 'b', 'm', 'c', 'r', 'l'}
a 和 b 的交集: {'a', 'c'}
a 和 b 中不同時存在的元素: {'d', 'z', 'yyy', 'b', 'm', 'r', 'l'}
4.6 Dictionary(字典)
輸出鍵爲 one 的值 這是第一個元素
輸出鍵爲 2 的值 這是第二個元素
輸出完整的字典tinydict: {'code': 131, 'web': 'www.baidu.com'}
輸出完整的字典tinydict所有鍵 dict_keys(['code', 'web'])
輸出完整的字典tinydict所有值 dict_values([131, 'www.baidu.com'])
刪除key=name的字典: {'code': 131, 'web': 'www.baidu.com'}
Process finished with exit code 0