关于python数据类型

关于python数据类型

Number数字类型 (int float bool complex)

int 整型 (正整型 0 负整型)

intvar = 100
print(intvar)

# type 获取值得类型
res = type(intvar)
print(res)

在这里插入图片描述

id 获取值得地址

intvar = 100
print(intvar)


res = id(intvar)
print(res)

在这里插入图片描述

二进制整型
intvar = 0b110
print(intvar)
print( type(intvar) )
print(     id(intvar)    )

在这里插入图片描述

八进制整型
intvar = 0o127
print(intvar)
print(type(intvar))
print(id(intvar))

在这里插入图片描述

十六进制
intvar = 0xff
intvar = 0XFF
print(intvar)
print(type(intvar))
print(id(intvar))

“”"
二进制 1 + 1 = `10
八进制 7 + 1 = 10
十六进制 f + 1 = 10
“”"

在这里插入图片描述

float 浮点型(小数)

# 表达方式1
floatvar = 3.6
print(floatvar ,  type(floatvar))

在这里插入图片描述

# 表达方式2 科学计数法
floatvar = 5.7e5  # 小数点右移5
floatvar = 5.7e-2 # 小数点左移2
print(floatvar, type(floatvar))

在这里插入图片描述

bool 布尔型 (True 真的, False 假的)


boolvar = True
boolvar = False
print(boolvar, type(boolvar))

在这里插入图片描述

complex 复数类型

"""
3 + 4j
实数+虚数
实数: 3
虚数: 4j
j  : 如果有一个数他的平方等于-1,那么这个数就是j , 科学家认为有,表达一个高精度的类型
"""
# 表达方式1
complexvar = 3 + 4j
complexvar = -3j
print(complexvar, type(complexvar))

在这里插入图片描述

# 表达方法2 
"""
complex(实数,虚数) => 复数
"""
res = complex(3, 4)
print(res, type(res))

在这里插入图片描述

str 字符串类型

"""
用引号引起来的就是字符串,单引号,双引号,三引号

# 转义字符 \ + 字符
	(1) 可以将无意义的字符变得有意义
	(2) 可以将有意义的字符变得无意义
	
\n   : 换行
\r\n : 换行
\t   : 缩进(水平制表符)	
\r   : 将\r后面的字符串拉到了当前行的行首
"""
# 1.单引号的字符串
strvar = '生活不止眼前的苟且'
print(strvar , type(strvar) )

在这里插入图片描述

# 2.双引号的字符串
strvar = "还有诗和远方的田野"
print(strvar , type(strvar))
# 可以将无意义的字符变得有意义
strvar = "还有诗和\n远方的田野"
strvar = "还有诗和\r\n远方的田野"
strvar = "还有诗和\t远方的田野"
strvar = "还有诗和\r远方的田野"
strvar = "还有诗和\n远方的\r田野"
# 可以将有意义的字符变得无意义
strvar = "还有诗和\"远\"方的田野"
print(strvar)
strvar = "还有诗和\"远\"方的田野"

在这里插入图片描述

# 3.三引号的字符串 (可以支持跨行效果)
strvar = '''
生活就像"醉"酒
表面上说'不'要
身体却很诚实
'''
print(strvar)

在这里插入图片描述

# 4.元字符串 r"字符串" 原型化输出字符串
strvar = "D:\nython32_python\tay02"
strvar = r"D:\nython32_python\tay02"
print(strvar)

在这里插入图片描述

# 5.字符串的格式化
"""
%d 整型占位符
%f 浮点型占位符
%s 字符串占位符
语法形式:
	"字符串" % (值1,值2)
"""
# %d 整型占位符
strvar = "王某某昨天买了%d辣椒油,洗澡"  %  (2)
print(strvar)

在这里插入图片描述

# %2d  占两位 (不够两位拿空格来补位) 原字符串具右
strvar = "王同佩昨天买了%2d风油精,洗澡"  %  (2)
print(strvar)

在这里插入图片描述

# %-2d 占两位 (不够两位拿空格来补位) 原字符串具左
strvar = "李云龙昨天买了%-2d印度神油,泡澡"  %  (2)
print(strvar)

在这里插入图片描述

# %f 浮点型占位符
strvar = "肇事晁一个月开%f工资" % (9.9)
print(strvar)

在这里插入图片描述

# %.2f 保留小数点后面两位小数 (存在四舍五入的情况,默认保留六位小数)
strvar = "肇事晁一个月开%.2f工资" % (9.178)
print(strvar)

在这里插入图片描述

# %s 字符串占位符
strvar = "%s最喜欢在电影院尿尿" % ("张某某")
print(strvar)

在这里插入图片描述

# 综合案例
strvar = "%s在水里%s被发现了,罚款%.2f元,并且做了%d俯卧撑." % ("孟凡伟","拉屎",500.129,50000)
print(strvar)

在这里插入图片描述

# 如果搞不清楚用什么占位符,可以无脑使用%s
strvar = "%s在水里%s被发现了,罚款%s元,并且做了%s俯卧撑." % ("孟凡伟","拉屎",500.129,50000)
print(strvar)

在这里插入图片描述

列表类型 list

"""特征: 可获取,可修改,有序"""
# 1.定义一个空列表
listvar = []
print(listvar, type(listvar))

在这里插入图片描述

# 定义普通列表
listvar = [98, 6.9, True, 12-90j, "赵万里"]
print(listvar)

在这里插入图片描述

# 2.获取列表中的元素
# 正向索引   0   1    2        3          4
listvar = [98, 6.9, True, 12-90j, "赵万里"]
# 逆向索引  -5  -4    -3       -2         -1

res = listvar[2]
res = listvar[-2]
print(res)

![在这里插入图片描述](https://img-blog.csdnimg.cn/81cb1e0a9da941178172c6561c7760dc.png

# 通用写法
listvar = [98, 6.9, True, 12-90j, "赵万里"]
# len 获取容器类型数据中元素个数
length = len(listvar)
res = listvar[length-1]
print(res)

# 简写
res = listvar[len(listvar)-1]
print(res)

在这里插入图片描述

# 通用写法
listvar = [98, 6.9, True, 12-90j, "赵万里"]

# python逆向索引的特点,瞬间得到列表中最后一个元素
print(listvar[-1])

# 3.修改列表中的元素
listvar = [98,6.9,True,12-90j,"赵万里"]
listvar[3] = "大象"
print(listvar)

在这里插入图片描述

### 元组类型 tuple
"""特征: 可获取,不可修改,有序"""
# 定义一个元组
tuplevar = ("嘉宾", "夜曲", "卡农", "悲伤三重奏")
print(tuplevar, type(tuplevar))

在这里插入图片描述

# 获取元组中的元素
# 正向索引   0          1       2       3
tuplevar = ("嘉宾", "夜曲", "卡农", "悲伤三重奏")
# 逆向索引    -4        -3        -2           -1

print(tuplevar[2])
print(tuplevar[-1])

在这里插入图片描述

# 修改元组中的元素 : 元组中的值不能修改
tuplevar = ("嘉宾", "夜曲", "卡农", "悲伤三重奏")
# tuplevar[0] = "萌不好心"  error

在这里插入图片描述

# 注意点
"""逗号才是区分是否是元组的标识符"""
tuplevar = (8.9,)
tuplevar = 8.1,
print(tuplevar)
print(type(tuplevar))

在这里插入图片描述

# 定义空元组
tuplevar = ()
print(type(tuplevar))

在这里插入图片描述

### 字符串类型
"""特征: 可获取,不可修改,有序"""
# 正向索引   0 1 2 3 4 5 6 7 8
strvar =    "看你,我就心跳加速"
# 逆向索引  -9-8-7-6-5-4-3-2-1

# 获取字符串中的元素
print(strvar[3])
print(strvar[-6])

# 不能修改字符串中的元素
# strvar[3] = "你" error 

print("<===============>")
strvar = ""   # 单纯定义一个字符串类型
print(strvar)
print(type(strvar))
strvar = "   " # 字符串中含有3个空格字符
print(strvar[0])
print(type(strvar))

在这里插入图片描述

set 集合类型 (交差并补)

"""特点: 无序,自动去重"""
# 1.集合无序
setvar = {"路飞", "索隆", "山治", "乔巴"}
print(setvar, type(setvar))

在这里插入图片描述

# 获取集合中的元素 不可以
# setvar[0] error
# 修改集合中的元素 不可以
# setvar[2] = 111 error
# 2.集合自动去重
setvar = {"路飞", "索隆", "山治", "乔巴", "乔巴", "乔巴", "乔巴", "乔巴"}
print(setvar, type(setvar))

在这里插入图片描述

# 3.定义一个空集合
setvar = set()
print(setvar, type(setvar))

在这里插入图片描述

dict 字典类型

"""
键值对存储的数据,表面上有序,本质上无序
dictvar = {键1:值1, 键2:值2 , ... }
3.6版本之前,完全无序,
3.6版本之后,存储的时候,保留了字典定义的字面顺序,在获取内存中数据时
重新按照字面顺序做了排序,所以看起来有序,实际上存储时还是无序.
"""

# 1.定义一个字典
dictvar = {"top": "the shy", "middle": "肉鸡", "bottom": "jacklove", "jungle": "臭鞋", "support": "吃饱饱_嘴里种水稻"}
print(dictvar, type(dictvar))

在这里插入图片描述

# 2.获取字典中的值
res = dictvar["middle"]
res = dictvar["jungle"]
print(res)

在这里插入图片描述

# 3.修改字典中的值
dictvar["top"] = "the xboy"
print(dictvar)

在这里插入图片描述

# 4.定义空字典
dictvar = {}
print(dictvar, type(dictvar))

在这里插入图片描述

3.set 和 dict 的注意点

"""
字典的键 和 集合的值 有数据类型上的要求:
(允许的类型范围)不可变的类型: Number(int float complex bool) str tuple
(不允许的类型)可变的类型    : list set dict

哈希算法的提出目的是让数据尽量均匀的在内存当中分配,以减少哈希碰撞,提升存储分配的效率;
哈希算法一定是无序的散列,所以集合 和 字典都是无序

字典的 键有要求,值没要求
字典的值可以任意换掉,但是键不可以.
"""
# 允许的类型范围
dictvar = {1:"abc",4.89:111,False:333,3+90j:666,"王文":"你好帅啊,我好喜欢哦,没毛病",(1,2,3,4,5,6):9999}
print(dictvar)
print(dictvar[(1,2,3,4,5,6)])
# dictvar = {[1,2,3]:123} error  

# 允许的类型范围
setvar = {1,"a",4.56,9+3j,False,(1,2,3)}
# setvar = {1,"a",4.56,9+3j,False,(1,2,3),{"a","b"}} error
print(setvar)



# 总结:
"""
无论是变量缓存机制还是小数据池的驻留机制,
都是为了节省内存空间,提升代码效率
"""
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值