基本數據類型
基本數據類型
- 整數
- 布爾值
- 字符串
- 列表
- 元組
- 字典
- 集合
一、字符串:
capitalize() :字符串首字母變大寫
user_name = "sunChangxing" user_name.capitalize() #字符串首字母變大寫 print(user_name)
casefold() #將所有大寫轉換為小寫(原字符串不變)
user_name = "sunChaNgxing" v = user_name.casefold() #將所有大寫轉換為小寫(原字符串不變) casefold()更高級些不僅僅局限於英文的大小寫轉換,支持其他語言。 print(user_name) print(v)
user_name = "sunChaNgxing" v = user_name.lower() #將所有大寫轉換為小寫(原字符串不變) print(user_name) print(v)
center(self, width, fillchar=None) #文本居中
user_name = "sunChaNgxing" v = user_name.center(20) print(user_name) 4. 文本居中 # 參數1: 表示總長度# 參數2:空白處填充的字符(長度為1) print(v) v = user_name.center(20,[email protected]
count(self, sub, start=None, end=None): #表示傳入字符在字符串中出現次數
user_name = "sunChaNgxing" v = user_name.count(‘n‘) print(v) v = user_name.count(‘n‘,2,10) print(v)
endswith(self, suffix, start=None, end=None): #是否以什麽結尾
user_name = "sunChaNgxing" v = user_name.endswith(‘g‘) print(v)
startswith(self, prefix, start=None, end=None):#是否以什麽開頭
user_name = "sunChaNgxing" v = user_name.startswith(‘s‘,2,10) print(v)
encode : #欠著
user_name = "sunChaNgxing" user_name.encode()
expandtabs(self, tabsize=8): #替換制表符 (指定替換寬度包含前面的字符)
user_name = "su\tnC\tha\nNg\txi\tng" v = user_name.expandtabs(5) print(user_name) print(v)
find(self, sub, start=None, end=None): 找到指定子序列的索引位置:不存在返回-1 (常用這個)&&
index(self, sub, start=None, end=None): 找到指定子序列的索引位置:不存在報錯
user_name = "sunChaNgxing" v = user_name.find(‘N‘,4,8) print(v)
user_name = "sunChaNgxing" v = user_name.index(‘N‘,4,8) print(v)
format(self, *args, **kwargs): && format_map(self, mapping): 字符串格式化
user_name = "北涼參{0}百萬戶,其中多少{1}衣裹{2}骨?" v = user_name.format("差","鐵","枯") print(v) user_name = "北涼參{name}百萬戶,其中多少{age}衣裹{sex}骨?" v = user_name.format(name=‘差‘,age=‘鐵‘,sex=‘枯‘) print(v) user_name = "北涼參{name}百萬戶,其中多少{age}衣裹{sex}骨?" v = user_name.format_map({‘name‘:‘鐵‘,‘age‘:‘鐵‘,‘sex‘:‘枯‘ }) print(v)
isalnum(self): #是否是數字、漢字 isalpha() :是否是漢字
user_name = ‘123123asd嘿嘿嘿‘ v = user_name.isalpha() 漢字 print(v) v1 = user_name.isalnum() 數字,漢字 print(v1)
isdecimal(self):#只能判斷阿拉伯數字123... isdigit(self):#阿拉伯 和 ②這類 isnumeric(self):#‘123‘,‘二‘,‘②‘ 判斷是否是數字
num = ‘123②二‘ v1 = num.isdecimal() # ‘123‘ v2 = num.isdigit() # ‘123‘,‘②‘ v3 = num.isnumeric() # ‘123‘,‘二‘,‘②‘ print(v1,v2,v3)
isidentifier(self):判斷是否為Python中的標識符
user_name = ‘user_name‘ v = user_name.isidentifier() print(v)
islower(self): 是否全部為小寫 & isupper(self): 是否全部為大寫
user_name = ‘wangbaDa‘ v = user_name.islower() print(v) v1 = user_name.isupper() print(v1)
isspace(self): 是否全部為空格
name = ‘ ‘ v = name.isspace() print(v)
join(self, iterable):元素拼接(元素字符串)
name = ‘alex‘ v = "_".join(name) # 內部循環每個元素 print(v)
ljust(self, width, fillchar=None): rjust(self, width, fillchar=None): 左右填充
name = ‘alex‘ v = name.rjust(20,‘*‘) print(v)
##### 字符串功能總結(常用):
name = ‘alex‘
name.upper()
name.lower()
name.split()
name.find()
name.strip()
name.startswith()
name.format()
name.replace()
"alex".join(["aa",‘bb‘])
# ########################################## int 整數
1. 當前整數的二進制表示,最少位數
age = 4 # 100 print(age.bit_length())
2. 獲取當前數據的字節表示
age = 15 v = age.to_bytes(10,byteorder=‘big‘) v = age.to_bytes(10,byteorder=‘little‘) print(v) 00000000 00001111 -> 15
########################################## bool 布爾值 ##########################################
v = 0 # 1,-1
v = ""
v = []
--> 空內容:False
########################################## list 列表 ##########################################
## int=xx; str=‘xxx‘ list=‘xx‘
user_list = [‘李泉‘,‘劉一‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 PS: name = ‘alex‘
執行功能;
1.追加
user_list = [‘李泉‘,‘劉一‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 user_list.append(‘劉銘‘) print(user_list)
2. 清空
user_list = [‘李泉‘,‘劉一‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 user_list.clear() print(user_list)
3. 拷貝(淺拷貝)
user_list = [‘李泉‘,‘劉一‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 v = user_list.copy() print(v) print(user_list)
4. 計數
user_list = [‘李泉‘,‘劉一‘,‘李泉‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 v = user_list.count(‘李泉‘) print(v)
5. 擴展原列表
user_list = [‘李泉‘,‘劉一‘,‘李泉‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 user_list.extend([‘郭少龍‘,‘郭少霞‘]) print(user_list)
6. 查找元素索引,沒有報錯
user_list = [‘李泉‘,‘劉一‘,‘李泉‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 v = user_list.index(‘李海‘) print(v)
7. 刪除並且獲取元素 - 索引
user_list = [‘李泉‘,‘劉一‘,‘李泉‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 v = user_list.pop(1) print(v) print(user_list)
8. 刪除 - 值
user_list = [‘李泉‘,‘劉一‘,‘李泉‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 user_list.remove(‘劉一‘) print(user_list)
9. 翻轉
user_list = [‘李泉‘,‘劉一‘,‘李泉‘,‘劉康‘,‘豆豆‘,‘小龍‘] # 可變類型 user_list.reverse() print(user_list)
10. 排序: 欠參數
nums = [11,22,3,3,9,88] print(nums)
排序,從小到大
nums.sort() print(nums)
從大到小
nums.sort(reverse=True) print(nums)
######################################## tuple:元組,不可被修改的列表;不可變類型
#1. 獲取個數
user_tuple = (‘alex‘,‘eric‘,‘seven‘,‘alex‘) v = user_tuple.count(‘alex‘) print(v)
2.獲取值的第一個索引位置
user_tuple = (‘alex‘,‘eric‘,‘seven‘,‘alex‘)
v = user_tuple.index(‘alex‘)
print(v)
###### 額外:
user_tuple = (‘alex‘,‘eric‘,‘seven‘,‘alex‘) for i in user_tuple: print(i) v = user_tuple[0] v = user_tuple[0:2] print(v) user_tuple = (‘alex‘,‘eric‘,‘seven‘,[‘陳濤‘,‘劉浩‘,‘趙芬芬‘],‘alex‘) user_tuple[0] = 123 x user_tuple[3] = [11,22,33] x user_tuple[3][1] = ‘劉一‘ print(user_tuple)
li = [‘陳濤‘,‘劉浩‘,(‘alex‘,‘eric‘,‘seven‘),‘趙芬芬‘] ****** 元組最後,加逗號 ****** li = (‘alex‘,) print(li)
######################################### dict:字典: 可變類型 #########################################
1. 清空、
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} dic.clear() print(dic)
2. 淺拷貝
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} v = dic.copy() print(v)
3. 根據key獲取指定的value;不存在不報錯
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} v = dic.get(‘k1111‘,1111) print(v) v = dic[‘k1111‘] print(v)
4. 刪除並獲取對應的value值
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} v = dic.pop(‘k1‘) print(dic) print(v)
5. 隨機刪除鍵值對,並獲取到刪除的鍵值
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} v = dic.popitem() print(dic) print(v) k,v = dic.popitem() # (‘k2‘, ‘v2‘) print(dic) print(k,v) v = dic.popitem() # (‘k2‘, ‘v2‘) print(dic) print(v[0],v[1])
6. 增加,如果存在則不做操作
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} dic.setdefault(‘k3‘,‘v3‘) print(dic) dic.setdefault(‘k1‘,‘1111111‘) print(dic)
7. 批量增加或修改
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘} dic.update({‘k3‘:‘v3‘,‘k1‘:‘v24‘}) print(dic) dic = dict.fromkeys([‘k1‘,‘k2‘,‘k3‘],123) print(dic) dic = dict.fromkeys([‘k1‘,‘k2‘,‘k3‘],123) dic[‘k1‘] = ‘asdfjasldkf‘ print(dic) dic = dict.fromkeys([‘k1‘,‘k2‘,‘k3‘],[1,]) { k1: 123123213, # [1,2] k2: 123123213, # [1,] k3: 123123213, # [1,] } dic[‘k1‘].append(222) print(dic)
########## 額外:
- 字典可以嵌套
- 字典key: 必須是不可變類型
dic = {
‘k1‘: ‘v1‘,
‘k2‘: [1,2,3,],
(1,2): ‘lllll‘,
1: ‘fffffffff‘,
111: ‘asdf‘,
}
print(dic)
key:
- 不可變
- True,1
dic = {‘k1‘:‘v1‘}
del dic[‘k1‘]
布爾值:
1 True
0 False
bool(1111)
##################################### set,集合,不可重復的列表;可變類型 #####################################
s1 = {"alex",‘eric‘,‘tony‘,‘李泉‘,‘李泉11‘}
s2 = {"alex",‘eric‘,‘tony‘,‘劉一‘}
1.s1中存在,s2中不存在
v = s1.difference(s2)
print(v)
#### s1中存在,s2中不存在,然後對s1清空,然後在重新復制
s1.difference_update(s2)
print(s1)
2.s2中存在,s1中不存在
v = s2.difference(s1)
print(v)
3.s2中存在,s1中不存在
s1中存在,s2中不存在
v = s1.symmetric_difference(s2)
print(v)
4. 交集
v = s1.intersection(s2)
print(v)
5. 並集
v = s1.union(s2)
print(v)
6. 移除
s1 = {"alex",‘eric‘,‘tony‘,‘李泉‘,‘李泉11‘}
s1.discard(‘alex‘)
print(s1)
s1 = {"alex",‘eric‘,‘tony‘,‘李泉‘,‘李泉11‘}
s1.update({‘alex‘,‘123123‘,‘fff‘})
print(s1)
基本數據類型