1. 程式人生 > >基本數據類型

基本數據類型

交集 sel dig 修改 log 獲取 ear dsw nio

  基本數據類型

    - 整數
    - 布爾值
    - 字符串
    - 列表
    - 元組
    - 字典
    - 集合

一、字符串:

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]
/* */) print(user_name) print(v)

  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)
 

基本數據類型