您的位置:首页 > 编程语言 > Python开发

Python 学习记录-数据类型 Day3~6

2020-06-05 09:06 134 查看

数据类型回顾:
类:int,bool,str,list,tuple,dict[整数,布尔,字符串,列表,元祖,字典]

(1)int类:
特有功能****

输出数字对应的二进制位数长度
number=1050
num_len=number.bit_length()

公共功能****
<1>返回number的长度
len(number)
<2>不可进行for循环
<3>不可进行索引/下标相关操作

(2)Bool类:
特有功能****

<1>值只有True,False
<2>False:0,"",[],(),{},None
<3>And:从左到右找第一个假,并返回第一个假所对应的值;如果全为真,则返回最后一个真所对应的值。(容不下假)
Or:从左到右找第一个真,并返回第一个真所对应的值;如果全为假,则返回最后一个假所对应的值。(容不下真)
注意!!!!And的运算优先级大于Or。
And的例子:
有假时:print(1 and 0 and 3 and 1<2)----0
print(1 and 1>2 and 3 and 0)----False
无假时:print(“abcde” and 1 and 4>3)----True
print(4>3 and 1 and “abcde”)----“abcde”
Or的例子:
有真时:print(1>5 or 5 or “young” or [5,])----5
print(1>5 or {} or 2>1 or 5812334)----True
无真时:print(1>5 or 0 or [] or False or None)----None
print(None or 0 or [] or 1>5 or False)----False

公共功能****
<1>返回长度
len(True)
<2>不可进行for循环
<3>不可进行索引/下标相关操作

(3)Str类:
特有功能****

注意!!字符串进行特有功能转换时,字符串本身是不变化,必须设置一个新变量去接收它转换后的结果!!【与列表相反】
注意!!字符串只能通过.replace()来改里面的字符,只能通过索引值来查,不能“增”和“删”

<1>大小写:
“young”.capitalize() #首字母大写
“young”.upper() #全部字符转化为大写
“YOUNG”.lower() #全部字符转化为小写
<2>去空格:
" young “.strip() #去掉字符串左右两边的空格
" young”.lstrip() #去掉字符串左边的空格
"young ".rstrip() #去掉字符串右边的空格
<3>替换:
“youyyyy”.replace(“y”,“p”) #“poupppp”
“youyyyy”.replace(“y”,“p”,2) #poupyyy
<4>切割:
“young”.spilt(“u”) #[‘yo’, ‘ng’] 注意:字符串切割后会变成列表
<5>判断字符串是否全是数字:
“6456765123”.isdecimal() #True
“645676k5123”.isdecimal() #False
<6>判断字符串的头和尾是否为指定字符:
result=“young”.startswith(“y”)
print(result) #True
result=“young”.startswith(“you”)
print(result) #True
result=“young”.endswith(“ng”)
print(result) #True

公共功能****
<1>返回长度
len(“young”)
<2>可以进行for循环
for item in “young”:
print(item) # y o u n g 每个字符都给取出来了
<3>可进行索引/下标相关操作
“young”[0]=“y”
“young”[4]=“g”
“young[-1]”=“g”
“young[0:3]”=“you”
“young[0:-1]”=“youn” #与"young[-1]"做一下区分
“young[0:]”=“young”
“young[0:5:2]”=“yug”

(4)list类:
特有功能****

注意!!列表进行特有功能转换时,列表本身是有发生变化的,不需要必须设置一个新变量去接收它转换后的结果!!

li=[“young”,100,True]
<1>追加列表内容:
li.append(“excellent”) #[‘young’, 100, True, ‘excellent’]
<2>插入列表内容:
li.insert(1,“kkk”) #[‘young’, ‘kkk’, 100, True]
<3>颠倒列表内容
li.reverse() #[True, 100, ‘young’]

公共功能****
<1>返回长度
len([“young”,True,95,[12,5])
<2>可以进行for循环
for item in [“young”,True,95,[12,5],0]:
print(item) # “young”,True,95,[12, 5],0 列表的每个元素都提取出来
<3>可进行索引/下标相关操作
li=[“young”,True,95,[12,5],0]
查:
提取列表元素操作与字符串一样,提取出来的列表元素可以再进一步提取
li[3][1] #5
改:
li[0]=“peppa” #[“peppa”,True,95,[12,5],0]
li[2:4]=“peppa” #[‘young’, True, ‘p’, ‘e’, ‘p’, ‘p’, ‘a’, 0] 当用切片器去修改列表的内部值时,直接写字符串,会把字符串全部循环一遍输入列表中
li[2:4]=[“peppa”] #[‘young’, True, ‘peppa’, 0] 如果只是想输入一个字符串到列表的话,字符串必须以列表的形式赋值回去
li[2:4]=[[“peppa”]] #[‘young’, True, [‘peppa’], 0]

删:
del li[1] #[“young”,95,[12,5],0]
注意!!!用for循环的时候,容易删除列表元素后会减少列表的长度,从而影响索引值的选取!!!
<4>元素连接:“字符串”.join(可迭代对象)
print("".join([“young”,“T”,“95”,"[12,5]",“0”])) #young_T_95[12,5]_0

(5)tuple类:
特有功能****

元组里面的元素不能做任何改动,但是元组中非元组元素的子元素有可能可以被修改。
注意书写!!!!!!如果元组只有单一元素的时候要写上逗号。
tup=(1)
print(tup,type(tup)) #1 <class ‘int’>

tup=(1,)
print(tup,type(tup)) #(1,) <class ‘tuple’>
公共功能****
<1>返回长度
len((“young”,True,95,[12,5]))
<2>可以进行for循环,与列表类似
<3>可进行索引/下标相关操作,只可以查,与列表的查类似。

(6)dict类:
特有功能****

每一个键值对为字典里的一个元素,字典是无序的,不可以通过索引值来操作
dict={“name”:“young”,“age”:26,“gender”:“man”}
<1>query=dict.get(“gender”)
print(query) #man;
注意:dict.get(“department”)与dict[department]的区别在于前者如果没有找到对应的Keys会返回None,而后者则会报错!!
<2>dict.items() #取出字典的键值对信息
<3>dict.keys() #取出字典的键信息
<4>dict.values() #取出字典的值信息

公共功能****
<1>返回长度
len(dict)
<2>可以进行for循环
for item in dict: #等同于 for item in dict.keys()
print(item) #name age gender 默认循环字典的键信息
for item in dict.values():
print(item) #young 26 man 循环字典的值信息
for i, k in dict.items():
print(i,k) #循环字典的键值对信息
输出结果:
name young
age 26
gender man
for i in dict.items():
print(i) #循环出来的键值对格式不同
输出结果:
(‘name’, ‘young’)
(‘age’, 26)
(‘gender’, ‘man’)

<3>不可进行索引/下标相关操作

注意:字典进行下列操作时(除了查以外),自身是有发生变化的!!!
注意:不要在当前字典循环的过程中,修改当前字典的大小。可以先把要删除的元素循环拿到列表,在循环列表来删除字典元素!!

dict={“name”:“young”,“age”:26,“gender”:“man”}
增:
dict[“department”]=“data_analy”
print(dict) #{‘name’: ‘young’, ‘age’: 26, ‘gender’: ‘man’, ‘department’: ‘data_analy’}
删:
del dict[“gender”]
print(dict) #{“name”:“young”,“age”:26,“gender”:“man”}
改:
dict[“name”]=“peppa”
print(dict) #{‘name’: ‘peppa’, ‘age’: 26, ‘gender’: ‘man’}

d2={‘bob’:98,‘lucass’:85,‘lily’:92}
d2[‘lili’]=d2.pop(‘lily’)
print(d2)
查:
print(dict[“age”]) #26

类 int bool str list tuple dict
增 / / 运算符+ append,insert / dict[“department”]=“data_analy”
删 / / / del li[3] / del dict[“gender”]
改 / / / li[0]=“peppa” / dict[“name”]=“peppa”
查 / / “young”[2] print(list[2]) print(tup[2]) print(dict[“age”])


个人笔记记忆学习图

类与类之间的转化
整数转字符串 str(123)
整数转布尔 bool(123)
布尔转字符串 str(True)
字符串转整数 int(“123”)
字符串转布尔 bool(“0”)
字符串转化为列表 list(“young”) #young将会被循环,每个字符作为一个元素放入列表中。
列表转化为元组 tuple([1,2,3,4])
元组转化为列表 list((1,2,3,4))

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: