python-数据类型(上)
Posted 忆梦,惊梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-数据类型(上)相关的知识,希望对你有一定的参考价值。
查看数据类型:type(2**32)
数字:
int(整形):
在32位机器上,整数的位数是32位,取值范围为-2**31~2**31-1;
在64位机器上,整数的位数是64位,取值范围为-2**63~2**63-1
long(长整形):
python的长整数没有指定位宽
python3里只有整型的概念,没有长整型。如果整数发生溢出,python会自动将整数数据转换为长整数
float(浮点型):
3.23,52.3E-4
complex(复数):-5+4j,j是虚数
布尔值:
真或假,1或0
字符串:
name = "my name is {name} and i am {age} old" # 代表tab键
print(name.capitalize()) #首字母大写
print(name.count("a")) #a的数量
print(name.center(50,"-")) #打印50个字符,不够的用"-"补上,name放中间
print(name.endswith("ex")) #判断一段字符串以什么结尾
print(name.expandtabs(tabsize=30)) #把tab键转成多少个空格
print(name.find("name")) #字符串中name的索引
print(name[name.find("name"):]) #字符串的切片
print(name.format(name = ‘alex‘,age = 25))
print(name.format_map({‘name‘: ‘alex‘,‘age‘: 25}))
print(name.isalnum()) #是不是阿拉伯数字(包含英文字符和1,2...)
print(‘ab12‘.isalpha()) #全是字母为true
print(‘12‘.isdecimal()) #是否是十进制
print(‘12‘.isdigit()) #是否是整数
print(‘_1A‘.isidentifier()) #判断是不是一个合法的标识符
print(‘a 1A‘.islower()) #判断是不是小写
print(‘a 1A‘.isnumeric()) #是不是只有数字
print(‘ ‘.isspace()) #是不是空格
print(‘My Name Is ‘.istitle()) #每个首字母大写
print(‘My Name Is ‘.isprintable()) #能不能打印,字符串里用不着,tty file,drive file不能打印
print(‘My Name Is ‘.isupper()) #是不是大写
print(‘+‘.join([‘1‘,‘2‘,‘3‘]))
print(name.ljust(50,‘*‘)) #长度50,不够后面用*补上
print(name.rjust(50,‘-‘)) #长度50,不够前面用-补上
print(‘Alex‘.lower()) #变小写
print(‘Alex‘.upper()) #变大写
print(‘
Alex
‘.lstrip()) #去掉左边的空格和回车
print(‘
Alex
‘.rstrip()) #去掉右边的空格和回车
print(‘ Alex
‘.strip()) #去掉左边和右边的空格和回车
p = str.maketrans("abcdef",‘123456‘)
print(‘alex li‘.translate(p))
print(‘alex li‘.replace(‘l‘,‘L‘)) #替换
print(‘alex li‘.replace(‘l‘,‘L‘,1)) #替换1个
print(‘alex li‘.rfind(‘l‘)) #找到最后面那个值的下标
print(‘al ex li‘.split()) #按空格分
print(‘al ex lil‘.split(‘l‘)) #按l分
print(‘1+2+3+4‘.split(‘+‘))
print(‘1+2
+3+4‘.splitlines()) #按换行来分
print(‘Alex Li‘.swapcase()) #大小写互换
print(‘alex li‘.title()) #每个首字母大写
print(‘alex li‘.zfill(50)) #长度不够的前面补0
字典操作:
字典一种key-value的数据类型
字典的特性:
dict是无序的
key必须是唯一的,so天生去重
info = {
‘stu1101‘:"TengLian Wu",
‘stu1102‘:"LongZe LuaLa",
‘stu1103‘:"XiaoZe MaLiya",
}
print(info)
print(info[‘stu1101‘]) #百分百确定有这个key再用这个方式查找
print(info.get(‘stu1104‘)) #查找,有就返回,没有None
print(‘stu1103‘ in info) #判断在不在
info[‘stu1101‘]="武藤兰" #存在,修改value 值
info[‘stu1104‘]="CangJingKong" #不存在,增加
del info[‘stu1101‘] #删除
info.pop(‘stu1102‘) #删除
info.popitem() #随机删除
print(info)
多级字典嵌套:
av_catalog={
"欧美":{
"www.youporn.com":["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大", "质量比youporn高点 "],
"letmedothistoyou.com": ["多是自拍,高质量图片很多", "资源不多,更新慢"],
"x-art.com": ["质量很高,真的很高", "全部收费,屌比请绕过"],
},
"日韩":{
"tokyo-hot": ["质量怎样不清楚,个人已经不喜欢日韩范了", "听说是收费的"],
},
"大陆": {
"1024": ["全部免费,真好,好人一生平安", "服务器在国外,慢"],
}
}
av_catalog[‘大陆‘][‘1024‘][1]="可以在国内做镜像"
print(av_catalog)
info = {
‘stu1101‘:"TengLian Wu",
‘stu1102‘:"LongZe LuaLa",
‘stu1103‘:"XiaoZe MaLiya",
}
print(info.values())
print(info.keys())
info.setdefault(‘stu1104‘,"haha")
info.setdefault(‘stu1101‘,"haha") #有这个key就返回,没有创建
print(info)
info = {
‘stu1101‘:"TengLian Wu",
‘stu1102‘:"LongZe LuaLa",
‘stu1103‘:"XiaoZe MaLiya",
}
b = {
‘stu1101‘:"Alex",
1:3,
2:5
}
info.update(b) #有交叉就更新,没有创建
print(info)
c = dict.fromkeys([6,7,8],"test") #初始化一个新的字典,三个key共享一个value,一个内存地址,即使修改,value也都一样
print(c)
print(info.items()) #把字典转成了列表
循环:
info = {
‘stu1101‘:"TengLian Wu",
‘stu1102‘:"LongZe LuaLa",
‘stu1103‘:"XiaoZe MaLiya",
}
for i in info:
print(i,info[i]) #高效
for k,v in info.items(): #把字典转成列表的过程
print(k,v)
三级菜单:
data = {
‘北京‘:{
"昌平":{
"沙河":["oldboy","test"],
"天通苑":["链家地产","我爱我家"]
},
"朝阳":{
"望京":["奔驰","陌陌"],
"国贸":["CICC","HP"],
"东直门":["Advent","飞信"]
},
"海淀":{}
},
‘山东‘:{
"德州":{},
"青岛":{},
"济南":{},
},
‘广东‘:{
"东莞":{},
"常熟":{},
"佛山":{}
}
}
while True:
for i in data:
print(i)
choice = input("一级菜单请选择进入>>:")
if choice in data:
while True:
for i2 in data[choice]:
print(" ",i2)
choice2 = input("二级菜单请选择进入>>:")
if choice2 in data[choice]:
while True:
for i3 in data[choice][choice2]:
print(" ", i3)
choice3 = input("三级菜单请选择进入>>:")
if choice3 in data[choice][choice2]:
# while True:
for i4 in data[choice][choice2][choice3]:
print(" ",i4)
choice4 = input("最后一层,按b返回>>:")
if choice4 == "b":
# break
pass
if choice3 == "b":
break
if choice2 == "b":
break
data数据如上
exit_flag = False
while not exit_flag:
for i in data:
print(i)
choice = input("请选择进入1>>:")
if choice in data:
while not exit_flag:
for i2 in data[choice]:
print(" ",i2)
choice2 = input("请选择进入2>>:")
if choice2 in data[choice]:
while not exit_flag:
for i3 in data[choice][choice2]:
print(" ", i3)
choice3 = input("请选择进入3>>:")
if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print(" ",i4)
choice4 = input("最后一层,按b返回>>:")
if choice4 == "b":
pass
elif choice4 == "q":
exit_flag = True
if choice3 == "b":
break
elif choice3 == "q":
exit_flag = True
if choice2 == "b":
break
elif choice2 == "q":
exit_flag = True
以上是关于python-数据类型(上)的主要内容,如果未能解决你的问题,请参考以下文章