六种数据类型

数据类型的种类:

  1.数字类型Number(int,float,bool,complex)

  2.字符串类型str

  3.列表类型list

  4.元组类型tuple

  5.集合类型set

  6.字典类型dict

 

1. 数字类型Number(int,float,bool,complex)

  1.1 整型 int

  1.2 浮点型 float

    两种表示方法:

      (1)实用小数点表示

floatvar = 4.88
print(floatvar)
print(type(floatvar))

 

 

       (2)使用科学记数法

floatvar = 6.7e4
print(floatvar)
print(type(floatvar))

 

     1.3 布尔型 bool

  只有True(真)和False(假)两个值

 

   1.4 复数类型 complex

    complex  实数 + 虚数
例如,3 + 4j
  3:实数
   4j:虚数
  j:如果有一个数,它的平方等于-1,那么这个数就是j,表示的是高精度的类型
# 表达方式一
complexvar = 56 - 3j
complexvar = -3j
print(complexvar)
print(type(complexvar))

# 表达方式二
# 语法:complex(实数, 虚数)
complexvar = complex(56, -3)
print(complexvar)
print(type(complexvar))

 

2. 字符串类型 str

被引号引起来的就是字符串

 

  2.1 转义字符

  转义字符: \ + 某个字符

     (1) 将有意义的字符变得无意义
  (2) 将无意义的字符变得有意义

  \n, \r\n :换行
  \t :tab缩进(水平制表符)[一般来说,一个缩进是4个空格的距离]
  \r :将后面的字符直接拉到当前行行首
# 将无意义的字符变得有意义
strvar = "文哥是这个世界上,\n我认为最帅的男人"
strvar = "文哥是这个世界上,\r\n我认为最帅的男人"
strvar = "文哥是这个世界上,我认\t为最    帅的男人"
strvar = "文哥是这个世界上,\r我认为最帅的男人"
strvar = "文哥是这个世界上,\n我认为\r最帅的男人"
# 将有意义的字符变得无意义
strvar = "文哥是这个世界上,浑身冒\"金光\"的男人"
print(strvar)
print(type(strvar))

2.2 元字符
strvar = r"E:\nython\tay2"
print(strvar)

 

           2.3 格式化字符串

    语法:"字符串" % (值1,值2,值3)
    %d:整型占位符
    %f:浮点型占位符
    %s:字符串占位符

# %d 整型占位符
strvar = "张三学习容易走神,买了%d个风油精,提神醒脑" % (5)
print(strvar)

# %2d 占两位 原字符串默认居右
strvar = "李四今天%d岁" % (3)
print(strvar)
strvar = "李四今天%2d岁" % (3)
print(strvar)

# %-2d 占两位 原字符串默认居左
strvar = "李四今天%-2d岁" % (3)
print(strvar)

# %f 浮点型占位符
strvar = "王五一个月开了%f工资" % (9.9)
print(strvar)

# %.2f 小数点保留2位
strvar = "王五一个月开了%.2f工资" % (9.9)
print(strvar)

# %f 存在四舍五入的情况
strvar = "王五一个月开了%.1f工资" % (9.87654321)
print(strvar)

# %s 字符串占位符
strvar = "%s" % ("python31的同学们都有祖安人民的特质")
print(strvar)

# 综合案例
strvar = "%s看好了一辆车,特斯拉model x,买了%d辆,花了%.1f元" % ("赵六", 10, 9.9)
print(strvar)

# 可以全部使用%s占位符进行取代
strvar = "%s看好了一辆车,特斯拉model x,买了%s辆,花了%s元" % ("赵六", 10, 9.9)
print(strvar)


3. 列表类型 list

  特点:
可获取,可修改,有序

3.1 获取列表的值

# 定义一个空列表
listvar = []
print(listvar, type(listvar))

# 定义一个普通列表
# 正向下标索引   0      1     2      3       4
listvar =    [100, 19.123, True, 1+12j, "马胜平"]
# 逆向下标索引   -5    -4     -3     -2      -1
print(listvar)

# 获取列表当中的值
res = listvar[2]
res = listvar[-3]
print(res)

# 获取列表当中的最后一个值
# python特有
print(listvar[-1])

# 通用写法
'''
len 获取容器类型数据的长度(元素的总个数)
'''
res = len(listvar)
print(res)

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

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

 

3.2 修改列表的值
# 修改列表里面的元素
listvar[-3] = False
print(listvar)

 

4. 元组类型 tuple
特点:可获取,不可修改,有序
4.1 获取元组中的元素
# 定义一个普通元组
# 正向下标索引    0        1        2       3
tuplevar =   ("明浩", "徐彦伟", "李志辉", "马春培")
# 逆向下标索引   -4       -3       -2       -1

# 1.获取元组当中的元素
res = tuplevar[1]
res = tuplevar[-1]
print(res)

 

  4.2 元组元素不可修改

4.3 判定元组的类型
逗号才是区分是否是元组的标识符
tuplevar = (123,)
tuplevar = 123,
print(tuplevar, type(tuplevar))


5. 集合类型 set
作用:集合之间的交差并补
特点:无序,自动去重
5.1 定义一个集合
setvar = {'金城武', '喻文波', '王俊凯', '王文'}
print(setvar, type(setvar))

  5.2 集合无序

不能获取集合中的元素
不能修改集合中的元素
5.3 自动去重
setvar = {'金城武', '王俊凯', '喻文波', '王文', '王文', '王文', '王文'}
print(setvar)

  5.4 定义一个空集合 

# setvar = {}
setvar = set()
print(setvar, type(setvar))

 

6. 字典类型 dict

6.1 获取字典的值
# 定义一个空字典
dictvar = {}
print(dictvar, type(dictvar))

# 定义一个普通字典
dictvar = {"智多星": "吴用", "花和尚": "鲁智深", "浪里白条": "张顺", "回首掏": "大司马"}

# 获取字典中的值
res = dictvar["回首掏"]
print(res)

  6.2 修改字典的值

dictvar = {"智多星": "吴用", "花和尚": "鲁智深", "浪里白条": "张顺", "回首掏": "大司马"}

dictvar['回首掏'] = '宋云杰'
print(dictvar)

 

6.7 字典的键 和 集合中的值 对数据类型的要求
字典的键 和 集合中的值 数据类型的要求必须是如下几种:
如下类型可以:不可变数据(可哈希的数据类型)
Number(int, float, bool, complex), str, tuple

不允许的类型:可变数据(不可哈希的数据类型)
list, set, dict

但凡提到哈希算法(hash),都是典型的无序特征
目的:为了更加均匀的把数据分配到内存中,底层用的算法类似于取模

python3.6版本之后,对字典做了优化,存储数据的时候用哈希算法
但是在拿出数据的时候,重新按照定义字典时的顺序进行重新排序
所以看起来有序,实际上无序




 

 

 

 


 

 

posted @ 2020-07-01 08:02  拯救我的发际线  阅读(489)  评论(0)    收藏  举报