# ### Number ( int float bool complex)
1.int 整型 (正整数 0 负整数) intvar = 1 print(intvar)
# type 获取值的类型 res = type(intvar) print(res)
# id 获取一个值的地址 res = id(intvar) print(res)
2.二进制整型 intvar = 0b1010 print(intvar) print(type(intvar)) print(id(intvar))
3.八进制整型 intvar = 0o123 print(intvar) print(type(intvar)) print(id(intvar))
4.十六进制整型 intvar = 0x1A9F print(intvar) print(type(intvar)) print(id(intvar))
--------------------------------------------------
# ### Number (int float bool complex)
1.float 浮点型 小数 表达方式1 floatvar = 1.23 print(floatvar) print(type(floatvar))
表达方式2:科学计数法 floatvar =1.2e3 print(floatvar) print(type(floatvar))
2. bool 布尔型 True 真 False 假 只有两个值 boolvar = True boolvar = False print(boolvar) print(type(boolvar))
3.complex 复数
complex 实数 + 虚数 1+2j 1: 实数 2j: 虚数 j: 如果有一个数,他的平方等于-1,那么这个数就是j,表达的是高精度的类型
表达方式一 complexvar = 1-2j complexvar = -2j print(complexvar) print(type(complexvar))
表达方式二 # 语法 : complex(实数,虚数) complexvar = complex(1,-2) print(complexvar) print(type(complexvar))
-------------------------------------
什么是字符串?用引号引起来的就是字符串
转义字符 : + 某个字符 (1) 将有意义的字符变得无意义 (2) 将无意义的字符变得有意义 n 和 rn : 换行 t : Tab缩进(水平制表符)(一般来说,一个锁进是4个空格的距离) r : 将后面的字符直接拉到当前行行首
(1) 单引号引起来的字符串 strvar = '今天是星期二' print(strvar) print(type(strvar))
(2) 双引号引起来的字符串
将无意义的字符变得有意义 strvar = "窗前明月光,n疑是地上霜" strvar = "窗前明月光,rn疑是地上霜" strvar = "窗前明月光,疑是t地上 霜" strvar = "窗前明月光,r疑是地上霜" strvar = "窗前明月光,n疑是r地上霜"
将有意义的字符变得无意义 strvar = "窗前明月光,疑是"地上"霜" print(strvar) print(type(strvar))
(3) 三引号引起来的字符串 ''' """(支持跨行的效果) strvar = ''' 今天星期六 明天星期日 ''' print(strvar) print(type(strvar))
(4) 元字符串 r"字符串" 不转义字符,原型化输出字符串 strvar = r"E:npython31tay2" print(strvar)
(5) 格式化字符串 语法 : "字符串" % (值1,值2,值3) %d 整型占位符 %f 浮点型占位符 %s 字符串占位符
1.%d 整型占位符 strvar = "我买了%d本书" % (5) print(strvar)
2.%2d 占两位 原字符串默认居右 strvar = "我今天%d岁" % (2) print(strvar) strvar = "我今年%2d岁" % (2) print(strvar)
3.%-2d 占两位 原字符串默认居左 strvar = "白星今天%-2d岁" % (2) print(strvar)
4.%f 浮点型占位符 strvar = "苹果%f元一斤" % (1.6) print(strvar)
5.%.2f 小数点保留2位 strvar = "苹果%.2f元一斤" % (1.6) print(strvar)
6.%f 存在四舍五入的情况 strvar = "苹果%.2f元一斤" % (1.6789) print(strvar)
7.%s 字符串占位符 strvar = "%s" % ("今天是星期二") print(strvar)
综合案例 strvar = "%s买了%d个苹果,花了%f元" % ("李博伦",10,12.5) strvar = "%s买了%d个苹果,花了%.1f元" % ("李博伦",12.5) print(strvar)
可以全部使用%s占位符进行取代 strvar = "%s买了%s个苹果,花了%s元" % ("李博伦",12.56789) print(strvar)
--------------------------------------------------------
# ### 容器类型数据( str list tuple set dict )
1.list 列表 特点: 可获取,可修改,有序 1.定义一个空列表 listvar = [] print(listvar,type(listvar))
2.定义一个普通列表 正向下标索引 0 1 2 3 4 listvar = [100,1.234,False,1+2j,"小明"] 逆向下标索引 -5 -4 -3 -2 -13.
3.获取列表当中的值
res = listvar[1] res = listvar[-1] print(res)
4.获取列表当中最后一个元素(python特有) print(listvar[-1])
5.len 获取容器类型数据的长度(元素的总个数) res = len(listvar) print(res) # 5
res = listvar[res - 1] print(res)
简写 print(listvar[len(listvar) - 1])
6.修改列表里面的元素 listvar[-3] = True print(listvar)
----------------------------------
2.tuple 元组 1.定义一个空元组 tuplevar = () print(tuplevar,type(tuplevar))
2.定义一个普通元组 正向下标索引 0 1 2 3 tuplevar = ("小明","小红","小刚","小蓝") 逆向下标索引 -4 -3 -2 -1
3.获取元组当中的元素 res = tuplevar[1] res = tuplevar[-2] print(res)
4.可以修改元组当中的值? 不行! tuplevar[2] = "小张" error
5.判定元组的类型 逗号才是区分是否是元组的标识符 tuplevar = (123,) tuplevar = 123, print(tuplevar,type(tuplevar))
-------------------------------------- 3.str 字符串 特征: 可获取,有序
# 0 1 2 3 4 5 6 strvar = "红橙黄绿青蓝紫" # -7-6-5-4-3-2-1
1.可以通过下标获取字符串当中的元素 res = strvar[1] res = strvar[-5] print(res)
2.可以修改字符串当中的元素么? 不行! strvar[1] = "粉" error
?---------------------------------------
4.set 集合 (作用:集合之间的交差并补) 特点: 无序,自动去重 1.定义一个集合 setvar = {"小红","小蓝","小黑","小绿"} print(setvar,type(setvar))
2. 集合无序
3.获取集合中的元素可以么? 不可以! res = setvar[1] error
4.修改集合中的元素可以么? 不可以! setvar[0] = "小青" error
5.自动去重 setvar = {"小红","小绿","小绿"} print(setvar)
6.定义一个空集合 setvar = {} 这是空字典并非空集合 setvar = set() print(setvar,type(setvar))
--------------------------- 5.dict 字典 特点: 键值对存储的数据,表面上有序,实际上无序 语法: { 键1:值1,键2:值2 ..... }
1.定义一个空字典 dictvar = {} print(dictvar,type(dictvar))
2.定义一个空字典 dictvar = {"上路":"Bob","中路":"Rick","下路":"Mike"}
3.获取字典中的值 res = dictvar["上路"] print(res)
4.修改字典当中的值 dictvar["中路"] = "Eric" print(dictvar)
5.字典的键 和 集合中的值 对数据类型有要求 dictvar = {123:"abc",True:"def",1+2j:"acf",1.23:"bef",(1,2,3):"adf","中文字符":"123","English":"小明"} print(dictvar)
以下这段内容很重要!!! 字典的键 和 集合中的值 数据类型的要求必须是如下几种: 如下类型可以: 不可变数据(可哈希的数据类型) Number(int,float,bool,complex),str,tuple
不允许的类型: 可变数据(不可哈希的数据类型) list,set,dict
dic = {{"a","b"}:123} error setvar = {{"a":1,"b":2},34} error
6.哈希算法:但凡提到哈希算法(hash),都是典型的无序特征 目的: 为了更加均匀的把数据分配到内存里,底层用的算法类似于取模.
python3.6版本之后,对字典做了优化,存储数据的时候用哈希算法 但是在拿出数据的时候,重新按照定义字典时的顺序进行重新排序 所以看起来有序,实际上无序
? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|