1. number类型
Number 数字类型 (int float bool complex)
1.1 int整型
intvar = 100
print(intvar)
res = type(intvar)
print(res)
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
"""
1.2 float浮点型(小数)
floatvar = 3.6
print(floatvar , type(floatvar))
floatvar = 5.75e5
floatvar = 5.7e-2
print(floatvar, type(floatvar))
1.3 bool布尔型
boolvar = True
boolvar = False
print(boolvar , type(boolvar))
1.4 复数类型
"""
3 + 4j
实数+虚数
实数: 3
虚数: 4j
j : 如果有一个数他的平方等于-1,那么这个数就是j , 科学家认为有,表达一个高精度的类型
"""
complexvar = 3 + 4j
complexvar = -3j
print(complexvar , type(complexvar))
"""
complex(实数,虚数) => 复数
"""
res = complex(3,4)
print(res , type(res))
2. 字符串类型
"""
用引号引起来的就是字符串,单引号,双引号,三引号
# 转移字符 \ + 字符串类型
(1) 可以将无意义的字符变的有意义
(2) 可以将有意义的字符变的无意义
\n : 换行
\r\n : 换行
\t : 缩进(水平制表符)
\r : 将\r后面的字符串拉到了当前行的行首
"""
strvar = '生活不知眼前的苟且'
print(strvar , type(strvar))
strvar = "还有诗和远方的田野"
print(strvar , type(strvar))
strvar = "还有诗和\n远方的田野"
print(strvar)
strvar = "还有诗和\r\n远方的田野"
strvar = "还有诗和\t远方的田野"
strvar = "还有诗和\r远方的田野"
strvar = "还有诗和\n远方的\r田野"
strvar = "还有诗和\"远\"方的田野"
print(strvar)
strvar = '''
"生活就像醉酒"
表面上'不'要
身体却很诚实
'''
print(strvar)
strvar = " D:\nython32_python\tay02"
strvar = r" D:\nython32_python\tay02"
print(strvar)
"""
%d 整型占位符
%f 浮点型占位符
%s 字符串占位符
语法格式:
"字符串" % (值1,值2)
"""
strvar = "小明昨天买了%d风油精,洗澡" % (2)
print(strvar)
strvar = "小明昨天买了%2d风油精,洗澡" % (2)
print(strvar)
strvar = "小明昨天买了%-2d风油精,洗澡" % (2)
print(strvar)
strvar = "小明一个月开%f工资" % (9.9)
print(strvar)
strvar = "小明一个月开%.2f工资" % (9.178)
print(strvar)
strvar = "%s最喜欢在电影院尿尿" % ("小明")
print(strvar)
strvar = "%s在水里%s被发现了,罚款%.2f元,并且做了%d俯卧撑." % ("小明","尿尿",500.129,50000)
print(strvar)
strvar = "%s在水里%s被发现了,罚款%s元,并且做了%s俯卧撑." % ("小明", "尿尿", 500.129, 50000)
print(strvar)
3. 列表_元组_字符串
3.1 列表类型
"""特征: 可获取,可修改,有序"""
listvar = []
print( listvar , type(listvar))
listvar = [98,6.9,True,12-90j,"赵万里"]
listvar = [98,6.9,True,12-90j,"赵万里"]
res = listvar[2]
res = listvar[-2]
print(res)
length = len(listvar)
res = listvar[length-1]
print(res)
res = listvar[len(listvar)-1]
print(res)
print(listvar[-1])
listvar = [98,6.9,True,12-90j,"赵万里"]
listvar[3] = "大象"
print(listvar)
3.2 元组类型
"""特征:可获取,不可修改,有序"""
tuplevar = ("小赵","小钱","小孙","小李")
print(tuplevar[2])
print(tuplevar[-1])
""" 逗号才是区分是否是元组的标识符"""
tuplevar = (8.9,)
tuplevar = 8.1,
print(tuplevar)
print(type(tuplevar))
tuplevar = ()
print(type(tuplevar))
3.3 字符串类型
"""特征:可获取,不可修改,有序"""
strvar = "看你,我就心跳加速"
print(strvar[3])
print(strvar[-6])
print("<=================>")
strvar = ""
print(strvar)
print(type(strvar))
strvar = " "
print(strvar[0])
print(type(strvar))
4. 集合_字典
4.1 集合类型
"""特点:无序,自动去重"""
setvar = {"巨石强森","史泰龙","施瓦辛格","小明"}
print(setvar,type(setvar))
setvar = {"巨石强森","史泰龙","史泰龙","施瓦辛格","小明"}
print(setvar , type(setvar))
setvar = set()
print(setvar , type(setvar))
4.2 字典类型
"""
键值对存储的数据,表面上有序,本质上无序
dicvar = {键1:值1,键2:值2,...}
3.6版本之前,完全无序
3.6版本之后,存储的时候,保留了字典的字面顺序,在获取内存中数据时
重新按照字面顺序做了排序,所以看起来有序,实际上存储时还是无序
"""
dictvar = {"top":"the shy","middle":"肉鸡","bottom":"jacklove","jungle":"臭鞋","support":"水稻"}
print(dictvar, type(dictvar))
res = dictvar["middle"]
print(res)
res = dictvar["jungle"]
print(res)
dictvar["top"] = "the xboy"
print(dictvar)
dicvar = {}
print(dicvar,type(dictvar))
"""
字典的键 和 集合的值,有数据类型上的要求:
(允许的类型范围)不可变的类型:Number(int float complex bool) str tuple
(不允许的类型)可变的类型:list set dict
哈希算法的提出目的是让数据尽量均匀的咋i内存当中分配,以减少哈希碰撞,提升存储分配的效率;
哈希算法一定是无序的散列,所以集合和字典都是无序
字典的键有要求,值没要求
字典的值可以任意换掉,但是键不可以
"""
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)])
setvar = {1,"a",4.56,9+3j,False,(1,2,3)}
print(setvar , type(setvar))
"""
无论是变量缓存机制还是小数据池的驻留机制,
都是为了节省内存空间
"""
5. 变量的缓存机制
var1 = 5
var2 = 5
var1 = -100
var2 = -100
print(id(var1) , id(var2) )
var1 = 4.67
var2 = 4.67
var1 = -4.67
var2 = -4.67
print(id(var1) , id(var2) )
var1 = True
var2 = True
print(id(var1) , id(var2) )
var1 = 4 +5j
var2 = 4 +5j
var1 = 5j
var2 = 5j
var1 = -5j
var2 = -5j
print(id(var1) ,id(var2))
var1 = "你"
var2 = "你"
var1 = ()
var2 = ()
print(id(var1) ,id(var2))
var1 = (1,2)
var2 = (1,2)
var1 = [1,2,3]
var2 = [1,2,3]
print(id(var1) ,id(var2))
|