python 07 資料型別補充 編碼高階

2022-07-25 04:39:08 字數 2820 閱讀 5567

基礎資料型別的補充

資料型別之間的轉換

編碼的高階

id == is:

**塊:乙個檔案,互動式命令一行就是乙個**塊

同一**塊下快取機制(字串駐留機制):

不同**塊的快取機制(小資料池):在記憶體中開闢兩個空間,乙個空間儲存-5~256的int,乙個空間儲存一定規則的字串,如果你的**中遇到了滿足條件的資料,直接引用提前建立的。

集合:列表去重,關係測試 交並差。

深淺copy:

元組列表

字典

# 字典的補充

# update ***

# dic =

# # dic.update(hobby='運動', hight='175')

# # dic.update(name='太白金星')

# dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')]) # 面試會考

# print(dic)

# dic1 =

# dic2 =

# dic1.update(dic2) # 更新,有則覆蓋,無責新增

# print(dic1) #

# print(dic2)

# fromkeys

# dic = dict.fromkeys('abc', 100)

# dic = dict.fromkeys([1, 2, 3], 'alex')

# 坑:值共有乙個,面試題

# dic = dict.fromkeys([1,2,3],)

# print(dic)

dic =

# 將字典中鍵含有'k'元素的鍵值對刪除。

# for key in dic:

# if 'k' in key:

# dic.pop(key)

# print(dic)

# 迴圈乙個字典時,如果改變這個字典的大小,就會報錯。

# l1 =

# for key in dic:

# if 'k' in key:****這個用法一定要記住,下面在重複記一遍

# print(l1)

# for i in l1:

# dic.pop(i)

# print(dic)

# for key in list(dic.keys()): # ['k1', 'k2', 'k3','age']

# if 'k' in key:

# dic.pop(key)

# print(dic)

列表字典總結以及 if 『k' in key 的用法

資料型別的轉換

# 0,''(),,{},set(),none  轉換成bool值為false

編碼的高階

a 01000001 乙個字元乙個位元組表示。

a 01000001 ascii碼中的字元:乙個字元乙個位元組表示。

中 01001001 01000010 中文:乙個字元兩個位元組表示。

a 01000001 01000010 01000011 00000001

b 01000001 01000010 01100011 00000001

中 01001001 01000010 01100011 00000001

a 01000001 ascii碼中的字元:乙個字元乙個位元組表示。

to 01000001 01000010 (歐洲文字:葡萄牙,西班牙等)乙個字元兩個位元組表示。

中 01001001 01000010 01100011 亞洲文字;乙個字元三個位元組表示。

不同的密碼本之間能否互相識別?不能。

資料在記憶體中全部是以unicode編碼的,但是當你的資料用於網路傳輸或者儲存到硬碟中,必須是以非unicode編碼(utf-8,gbk等等)。

英文:str: 'hello '

​ 記憶體中的編碼方式: unicode

​ 表現形式: 'hello'

bytes :

​ 記憶體中的編碼方式: 非unicode

​ 表現形式:b'hello'

中文:​ str:

​ 記憶體中的編碼方式: unicode

​ 表現形式:'中國'

​ bytes :

​ 記憶體中的編碼方式: 非unicode # utf-8

​ 表現形式:b'\xe4\xb8\xad\xe5\x9b\xbd'

# str ---> bytes\

# s1 = '中國'

# b1 = s1.encode('utf-8') # 編碼

# print(b1,type(b1)) # b'\xe4\xb8\xad\xe5\x9b\xbd'

# # b1 = s1.encode('gbk') # 編碼 # b'\xd6\xd0\xb9\xfa' # # bytes---->str

# b1 = b'\xe4\xb8\xad\xe5\x9b\xbd'

# s2 = b1.decode('utf-8') # 解碼

# print(s2)

# gbk ---> utf-8

b1 = b'\xd6\xd0\xb9\xfa'

s = b1.decode('gbk')

# print(s)

b2 = s.encode('utf-8')

print(b2) # b'\xe4\xb8\xad\xe5\x9b\xbd'

python 07 資料型別

目錄2.刪除列表 字典的 坑 3.二次編碼 name alex print name.capitalize 首字母大寫 name alex wusir name.title 每個單詞首字母大寫 name alex wuser print name.swapcase 大小寫反轉 name alex p...

Python之路day07 資料型別補充 編碼補充

講的不多,幾乎就是對之前講的資料結構的各種補充,來來總結一波 學習了str 元組 列表 字典的補充用法以及python的編碼方式。元組 count index用法 列表 index sort reverse 加法 乘法 str find count title capitalize center 字...

資料型別補充

資料型別之間的轉換 int bool str tuple dict set int bool str 他們三者時可以轉換的 bool 可以與所有的資料型別進行轉換 所有為空的資料型別轉換成bool 都為false 0 none false print bool bool false str list...