python数据类型汇总_python基础数据类型汇总
#!/usr/bin/env python
# -*- encoding:utf-8 -*-
# author:Administrator
# make_time:2018/6/9
‘‘‘
數(shù)據(jù)類(lèi)型:
不可變數(shù)據(jù)類(lèi)型:int、str、bool、tuple、frozenset
可變數(shù)據(jù)類(lèi)型:list、dict、set
公共方法:count()、len()、del、copy()
len(所有都有)
count(數(shù)字、字典、集合沒(méi)有此方法)
index(數(shù)字、字典、集合沒(méi)有此方法)
可變數(shù)據(jù)類(lèi)型都有copy()
整數(shù)、字符串、列表、元組、布爾可以相加(字典、集合不可相加)
整數(shù): int
# 不可變數(shù)據(jù)類(lèi)型
bit_length() 查看數(shù)字在內(nèi)存中最少占幾位
數(shù)學(xué)運(yùn)算:+ - * / //(整除) % **(冪)
比較運(yùn)算: >,=,<=,==,!=
賦值運(yùn)算:=,+=,*=,/=,-=,%=,,//=,**=
邏輯運(yùn)算:not or and
從左到右
優(yōu)先級(jí):() not and or
1(非零整數(shù)):true 0:false
1 or 2 左邊非零取左邊,0 取右邊,and相反
身份運(yùn)算:is is not 判斷兩個(gè)對(duì)象是不是為同一個(gè)內(nèi)存地址
成員運(yùn)算:in not in 判斷字符/元素是否在目標(biāo)中,str,list,dict,set,tuple
位運(yùn)算:
& 與運(yùn)算 1 1 得1 , 1 0 得0 ,0 0 得 0
| 或運(yùn)算 1 1 得1,1 0 得1 ,0 0 得0
方法:
int.bit_lens() 查看數(shù)字在內(nèi)存中占的字節(jié)數(shù)
布爾值:True False
#不可變數(shù)據(jù)類(lèi)型、True為1,False為0 (0,None,False,[],(),{},set(),都為False)
字符串: str
# 不可變數(shù)據(jù)類(lèi)型、有序、可切片,可迭代循環(huán),交互默認(rèn)輸入為字符串
# 以單或雙引號(hào)表示 :‘元素‘
# 不可增刪改
切片:從左到右字符串中的索引從0開(kāi)始
[start:end:step] 顧頭不顧尾
[1:3] 字符串中索引1到2的字符
[1:-1] -1 表示最后一個(gè)字符
操作方法:
del str 刪除字符串
len(str) 統(tǒng)計(jì)字符串長(zhǎng)度,內(nèi)置方法
str.count(元素) 統(tǒng)計(jì)字符串中的元素出現(xiàn)的個(gè)數(shù)
str.center(寬度,"填充物可不寫(xiě)") 指定長(zhǎng)度居中顯示,默認(rèn)填充物為空格
str.title() 非字母隔開(kāi)得首字母大寫(xiě)
china country --> China Country
* str.capitalize() 首字母大寫(xiě),其他分開(kāi)的單詞首字母小寫(xiě)
china_Country --> China_country
str.swapcase() --->字符串大小寫(xiě)互轉(zhuǎn)
** str.upper() ----> 全部變成大寫(xiě)
str.isupper() 是否全部為大寫(xiě)
** str.lower() -----> 全部變成小寫(xiě)
str.islower() 是否全部為小寫(xiě)
str.encoding("將字符串以何種編碼集進(jìn)行編碼")
** str.startswith("元素") 判斷字符串是否以什么開(kāi)頭,返回bool值
str.endswith("元素")
*** str.find("元素",star,end) 找元素的索引,如果元素不存在,返回-1
*** str.index("元素",star,end) 找元素的索引,如果元素不存在,報(bào)錯(cuò)
*** str.strip("元素可空") 去掉兩端的\n,\t,\s等空白字符,也可指定字符從兩端刪
str.lstrip()
str.rstrip()
***** str.split("分割符可空,默認(rèn)空格,多個(gè)空格看成一個(gè)") 分割字符串,返回列表
str.lsplit()
str.rsplit()
*** str.replace(old,new,替換幾次)
*** str.format() 字符串格式化
"{}my name is {}".format(11,"秀文")
"{1}my name is {2},next year is {1}".format(11,"秀文")
{id}is old boy ,my name {name}".format(id =11,name="sun") 不能放字典
% 百分號(hào)的方式格式化
"my name is %s ,i am %d" %("sun",30)"
"my name is %(name)s ,i am %(age)d" %(dic)" 可以放字典
%s 字符串
%d 整數(shù)
%f 小數(shù) %.2f 保留2為小數(shù)
3.6以上版本格式話(huà)可以:f"{name}已經(jīng)登錄了"
str.isalnum() 是否為字母或數(shù)字,返回bool值
str.isalpha() 是否全為字母
str.isdigit() 是否全為數(shù)字
str.isspace() 是否有空白字符
***** str.join(iterable可迭代) 字符串拼接,括號(hào)里一定得是可迭代得數(shù)據(jù),且只能為一個(gè)參數(shù)
注:
"sun".join([11,22]) 報(bào)錯(cuò),join不能將帶有數(shù)字得list轉(zhuǎn)換成字符串,需要先將數(shù)字轉(zhuǎn)換成字符串
"*".join("%s" %id for id in list)
object in str 判斷元素是否在str中
列表:list
# 可變數(shù)據(jù)類(lèi)型,有序,可切片,可迭代循環(huán),元素可為任意類(lèi)型數(shù)據(jù)
# 以[元素,]表示
# 可增刪改查
切片:
同字符串一樣,通過(guò)索引切
增:
list.append(元素) 向列表末尾添加元素
list.insert(index,元素) 指定索引位置向列表添加元素
list.extend(iterable) 迭代的向列表末尾添加多個(gè)元素
刪:
list.pop(index) 根據(jù)索引刪除,不添加元素時(shí),默認(rèn)刪除最后一個(gè)
list.remove(元素/object) 根據(jù)元素刪除
del list 刪除列表
del list[:3] 根據(jù)索引切片刪除
list.clear() 清空列表
改:
lis[index] = new_data 索引切片修改
lis = [11,22,33,44,55]
lis[:2] = [66,77,88] # lis = [66, 77, 88, 33, 44, 55] 步長(zhǎng)為1時(shí),不考慮個(gè)數(shù)對(duì)應(yīng),切的時(shí)一片空間
lis[:3:2] = [66,77] # 報(bào)錯(cuò),步長(zhǎng)不為1時(shí),左右元素個(gè)數(shù)需一致
#ValueError: attempt to assign sequence of size 3 to extended slice of size 2
查:
lis[index] 通過(guò)索引查
for i in list: 通過(guò)迭代循環(huán)查,i為列表中的每個(gè)元素
方法:
del list 刪除列表
len(list) 統(tǒng)計(jì)列表的長(zhǎng)度
list.count(object) 統(tǒng)計(jì)列表中指定元素出現(xiàn)的個(gè)數(shù)
list.index(object,start,end) 查找元素的索引
list.sort(reverse=False) 排序,默認(rèn)為升序,當(dāng)reverse值設(shè)為T(mén)rue時(shí),降序排列
list.reverse() 列表中元素順序反轉(zhuǎn)過(guò)來(lái)
list.copy() 列表淺拷貝
object in list 判斷對(duì)象是否在列表中
元組:tuple
# 不可變數(shù)據(jù)類(lèi)型,有序,可切片,可迭代循環(huán),元素可以是任意數(shù)據(jù)類(lèi)型
# 不可增刪改
# 以括號(hào)表示()
查:
tuple[2] 通過(guò)切片查
for i in tuple: 通過(guò)迭代循環(huán)查
方法:
tuple.count(object)
tuple.index(object,start,end)
len(tuple)
object in tuple
字典:dict
# 可變數(shù)據(jù)類(lèi)型,鍵值對(duì)存在,鍵不可變,可哈希的(int,str,bool,frozenset),值可以是任意數(shù)據(jù)類(lèi)型,無(wú)序,不可切片,可迭代循環(huán)查詢(xún)
# 以大括號(hào)表示{key:value}
# 可整刪查
增:
dic = {}
dic[new_key] = new_data 直接增加,如果key存在則更新value
dic.setdefault(key,value) 本方法一旦key,value都創(chuàng)建,且value指定的不是[]、{}、set(),值都不能更改
new_dic = dict.fromkeys(iterable,values)
new_dic = dict.fromkeys([11,22],[33,44]) -->{11: [33, 44], 22: [33, 44]}
前面的key對(duì)應(yīng)相同的value,且當(dāng)后面的value為可變數(shù)據(jù)類(lèi)型時(shí)如列表,改變?nèi)我庖粋€(gè)value,
另一個(gè)也會(huì)改變,淺拷貝,否則不改變
刪:
dic.pop(key) 指定key刪除,默認(rèn)刪除最后一項(xiàng),返回刪除key對(duì)應(yīng)的value,如果key不存在報(bào)錯(cuò) KeyError:
dic.popitem() 隨機(jī)刪除 ,返回刪除的鍵值對(duì)以tuple形式顯示
3.6以上字典內(nèi)置為有序,popitem()默認(rèn)刪除最后一個(gè),但面試要說(shuō)隨機(jī)刪除
del dic[key] 指定key刪除,如果key不存在報(bào)錯(cuò) KeyError:
del dic
dic.clear()
改:
dic[key] = new_data
dic.update(dic1) dic將dic1更新到自己的字典中,key重復(fù)更新為新value
查:
dic[key] key不存在時(shí),報(bào)錯(cuò)
dic.get[key,"不存在時(shí)自定義返回值"] key不存在時(shí)默認(rèn)返回None,也可自定義返回值
dic.keys() 以仿列表形式存所有key,可迭代
dic.values()
dic.items()
for i in dic i 為dic的key
方法:
len(dic)
集合:set
# 可變數(shù)據(jù)類(lèi)型,無(wú)序,元素唯一不重復(fù)且不可哈希即不可變數(shù)據(jù)類(lèi)型,可迭代
# 以{}形式表現(xiàn),主要用于去重
# 不可切片(無(wú)序),可增刪改查
增:
set.add(元素)
set.update(iterable) 迭代的更新到set中
刪:
set.pop() 隨機(jī)刪除
set.remove(元素) 沒(méi)有報(bào)錯(cuò)
set.clear()
del set
改:
因無(wú)序,只能通過(guò)先刪除后整加的方式
set.remove(待改元素)
set.add(新增元素)
查:
for i in set:
方法:
len(set)
交集: & 相同的部分
并集: | 合體
差集 a-b 去掉在a中b有的元素,減法
s = frozenset([11,22,33]) 將可變數(shù)據(jù)類(lèi)型改為不可變
總結(jié)
以上是生活随笔為你收集整理的python数据类型汇总_python基础数据类型汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 建行B2B支付回调参数乱码现象解析
- 下一篇: 没有基础学python_python没有