共计 5313 个字符,预计需要花费 14 分钟才能阅读完成。
六大数据类型
# python 的六大数据类型是 Number(四种数字类型)+ 五种容器类型
1、Number 数字类型
int 整型(整数)float 浮点型(小数)bool 布尔型(布尔值)complex 复数
long 大整型(长整型,无限大,python3.X 中淘汰,起因:科技、计算机的倒退使内存便宜)2、container 容器类型
str 字符串
list 列表
tuple 元组
set 汇合
dict 字典
数字类型数据
int 整型
什么是整型
整型指的就是整数,包含正整数、0、负整数
如何定义整型
# 间接输出整数,整数是没有小数点的数,只有有小数点,就不算是整型
# 在定义变量时间接赋值整数,变量的类型就成为整型
intvar = 100 # 整数
print(intvar, type(intvar))
intvar = 100.00 # 不算整数(浮点数)print(intvar, type(intvar))
# 应用 int 函数,也就是空的整型
intvar = int() # 默认为 0
print(intvar, type(intvar))
其它进制整型的示意办法
# 二进制、八进制、十六进制数:在示意这些数字的时候别离在数字前冠以 0b、0o、0x 的前缀示意。# 二进制数
intvar1 = 0b101010101
# 八进制数
intvar2 = 0o713211230
# 十六进制数
intvar3 = 0xabcdef123
# print 打印的数据显示十进制数
print(intvar1, intvar2, intvar3)
float 浮点型
什么是浮点型
浮点型指的就是小数
如何定义浮点型
# 1、间接写小数
fltvar = 100.1
print(fltvar, type(fltvar))
# 2、迷信计数法
# E 示意小数点的地位,1.E2 示意小数点向右挪动两位,位数不够用 0 补位,1E- 1 反之。fltvar1 = 1.E2 + 1E-1
print(fltvar1, type(fltvar1))
# 3、应用函数 float,空的浮点数
fltvar2 = float()
print(fltvar2, type(fltvar2))
什么是迷信计数法
迷信记数法是一种记数的办法。把一个数示意成 a 与 10 的 n 次幂相乘的模式(1≤|a|<10,a 不为分数模式,n 为整数),这种记数法叫做迷信记数法。当咱们要标记或运算某个较大或较小且位数较多时,用迷信记数法免去节约很多空间和工夫。概念:把一个数示意成 a 与 10 的 n 次幂相乘的模式(1≤|a|<10,a 不为分数模式,n 为整数),这种记数法叫做迷信记数法。例如:19971400000000=1.99714×10^13。计算器或电脑表白 10 的幂是个别是用 E 或 e,也就是 1.99714E13=19971400000000。
bool 布尔值
什么是布尔型
在计算机上布尔型代表逻辑上的虚实,布尔值的值只有两种,真 和假 ,True 和False。
在 python 中,乃至计算机科学当中,任何的货色的实质都是 True 和 False,都是非真既假的,这也就是也和计算机的工作原理分不开,比方计算机当中应用二进制来进行工作,都是只有两种状态来示意的。
如何定义布尔值
# 1、间接输出 true 或 false
# 留神,python 中的 true 和 false 首字母是大写的
bolvar1 = True # 真
bolvar2 = False # 假
print(bolvar1, type(bolvar1))
print(bolvar2, type(bolvar2))
# 2、应用 bool 函数,默认为 false
boolvar = bool()
print(boolvar)
complex 复数
什么是复数
复数是由实数和虚数组成的数,J 示意的是一个平方为 - 1 的数,应为这样的数在理论当中不存在所以用 J 示意,简略的来说,复数就是 实数 + 虚数。
j:如果有一个数,它的平方等于 -1,那么这个数就是 j,科学家认为有表白高精度类型。
如何定义复数
# 1、间接写复数
cpxvar = 4j
cpxvar1 = 1+4j
cpxvar1 = -4j
# 应用函数 complex()
cpxvar2 = complex(10, 20)
容器类型数据
# 阐明:容器类型数据当中能够寄存任何类型的数据,二级及以上的容器有非凡状况
# 字符串容器较为非凡,str 当中能够能够寄存任何数据的类型,然而任何数据的类型都会变为 str
str 字符串
什么是字符串
字符串就是用引号引起来的字符,不论引号内是什么数据,只有在引号内就是字符串。
字符串特点
可获取、不可批改、有序
定义字符串
# 应用引号引起来的货色都是字符串,无论是什么货色,包含所有的引号类型,比方多行正文
# 1、间接应用引号
# 应用各种各样的引号都是字符串
strvar = 'hello motherland'
strvar1 = "hello my motherland"
# 应用三引号能够跨行,并且要定义变量承受,否则就只是一段正文
strvar2 = '''hello motherland'''
strvar3 = """
hello
my
motherland
"""
print(strvar, type(strvar))
print(strvar1, type(strvar1))
print(strvar2, type(strvar2))
print(strvar3, type(strvar3))
# 即便是其它的数据类型也是字符串
strvar = '100' # 引号中是整型
print(strvar, type(strvar))
# 定义空字符串,应用 str 函数 或者是空引号
strvar, strvar2 = str(), ''
print(type(strvar), type(strvar2))
获取字符串中的数据
# python 中字符串也存在正逆向下标
strvar = 'hello motherland'
res = strvar[-1]
print(res)
res = strvar[1]
print(res)
# 字符串是不可批改的
# 批改字符串其中的某一个元素
# strvar[-1] = 'm' # error 报错
list 列表
什么是列表
就是其余语言当中的数组
特点
可获取、可批改、有序
定义列表
# 列表中能够寄存所有数据,应用中括号包含,应用逗号分隔不同的数据
# 间接定义
msr = 'hello motherland' # 字符串变量
lstvar = [1,2,3,'hello china', msr] # 能够寄存整型,字符串,变量等所有非法的数据类型
print(lstvar, type(lstvar))
# 定义空列表
lstvar, lstvar2 = list(), []
获取列表容器当中的元素
容器当中的每个元素都有按程序对应的正逆向下标索引,如果要获取容器当中的某个元素,能够依照下标索引来获取。
'''正向下标索引:0 1 2 3 4'''
lstvar = [1, 2, 3, 4, 5]
'''逆向下标索引:-5 -4 -3 -2 -1'''
# 获取第一个元素
res = lstvar[0]
# 逆向下标是 Python 特有,能够疾速获取容器中的最初一个元素
res = lstvar[-1]
# 没有逆向下标怎么获取最初一个数据元素
# 各语言获取最初一个元素的通用写法,获取长度,而后减一,认为下标是从 0 开始的
res = len(lstvar) # 失去元素数量
res = lstvar[res - 1] # 下标从 0 开始,所以减 1
print(res)
# 批改元素数据,list 数据是能够批改的
lstvar = [1, 2, 3]
lstvar[-1] = 'msr'
print(lstvar[-1])
tuple 元组
特点
可获取、不可批改、有序
定义元组
# 元组是应用逗号分隔开的一个个数据,个别状况下,都会应用小括号,然而小括号不是必须的
tupvar = (1,2,3,4,5)
print(tupvar, type(tupvar))
# 逗号是元组的标识符,只有有逗号,即便只有一个元素,没有括号都能够定义
# 应用这些形式定义后的数据类型都是元组类型的
tupvar = (1,)
tupvar = 1, 2
tupvar = 1,
# 定义一个空元组
# 单单一个括号就是一个元组类型的数据
tupvar = ()
tupvar1 = tuple()
print(tupvar, tupvar1)
print(type(tupvar), type(tupvar1))
获取元组中的数据
# 元组也存在正逆向下标
tupvar = (1,2,3,4,5)
# 获取元组的元素数据
res = tupvar[-1]
print(res)
# 元组的元素不能够更改
# tupvar[-1] = 'qwe' # error 不能批改
set 汇合
特点
可获取、不可批改、无序、主动去重
定义汇合
# 汇合是应用大括号突围,应用逗号分隔数据的的一种数据模式
# 定义一般的汇合
setvar = {1, 2, 3, 4, 5}
# 应用 set 函数定义汇合
setvar = set()
# 定义一个空集合
# 留神:汇合不能够间接应用大括号定义空集合,大括号定义的是字典
setvar, setvar1 = set(), {}
print(setvar, type(setvar), setvar1, type(setvar1))
作用
汇合之间的交差互补
# 1、主动去重:汇合会主动的将容器中的反复的数据主动删除
setvar = {1, 1, 1, 2, 2, 2, 3, 3, 3, 4}
print(setvar)
# 打印之后的数据
{1, 2, 3, 4}
# 2、汇合是无序的:反复刷新会发现打印进去的元素程序是不确定的
setvar = {'1', '2', '3'}
print(setvar)
# 屡次打印
{'1', '2', '3'}
{'1', '3', '2'}
{'3', '1', '2'}
# 主动去重之后的汇合也是无序的,然而如果汇合当中是纯数字的话,是依照数字大小排序的
setvar = {1, 23, 4, 5, 6, 7, 8,}
print(setvar)
setvar = {True, False, True}
print(setvar)
setvar = {1, 23, 4, 5, True, 6.123412, 7, 8, False}
print(setvar)
获取汇合中的数据
# 因为汇合无序,所以汇合没有下标索引,所以既不能获取单个元素,也不能批改。setvar = {'1', '2', '3', '1', '2', '3', '1', '2', '3'}
# 获取汇合当中的某一个元素
# res = setvar[-1] # error 谬误
# 也不能批改,认为基本获取不到要批改的那个数据
setvar[-1] = '1234' # error 谬误
dict 字典
什么是字典
字典就是其余语言当中的自定义对象。
特点
利用键存储数据、可获取、可批改、外表有序、理论无序
定义字典
# 语法:{key1:value1, key2:value2, ...}
# 定义空字典
ditvar, ditvar2 = dict(), {}
# 定义一个一般的字典
ditvar = {'及时雨':'宋江', '玉麒麟':'卢俊义', '智多星':'吴用', 'Python 小白':'小白白'}
print(ditvar, type(ditvar))
获取和批改字典数据
# 字典应用键存储数据,所以获取字典中的元素要寻找它对应的键, 批改也是如此。ditvar = {'及时雨':'宋江', '玉麒麟':'卢俊义', '智多星':'吴用', 'Python 小白':'小白白'}
# 获取和批改字典中的元素
# 获取数据
res = ditvar['智多星']
print(res)
# 批改数据(依据字典中已有的键批改)ditvar['Python 小白'] = '小黑'
print(ditvar)
# 在字典中增加键和值(其实也就是批改值)ditvar[1] = 1 # 在字典中增加一个 1 的键,值是 1
print(ditvar[1])
# 留神字典的键是惟一的,当字典中呈现两个雷同的键时,键取前面的键所对应的值
# 字典的键是惟一的
dicvar = {1: 2, 1: 3}
print(dicvar)
字典的键和汇合的值
数据类型的要求
# 汇合的值和字典的键必须是可哈希的数据类型(不可变数据)字典的键和汇合的值对数据类型是有要求的,只能是 Number、str、tuple 的类型的数据,字典的值对数据类型没有要求,只有是非法的 python 数据类型就能够
# 在理论的工作当中,咱们对字典的要求更高,python 中键的命名尽管满足上述的几个要求即可零碎的执行,然而我个别会要求字典的键的命名和变量名的命名是一样的要求。"""
字典的键 和 汇合中的值 数据类型的要求必须是如下几种:
如下类型能够:
不可变数据(可哈希的数据类型) 有序
Number(int, float, bool, complex), str, tuple
不容许的类型:
可变数据(不可哈希的数据类型) 无序
list, set, dict
"""
凡是提到哈希算法(hash), 都是典型的无序特色
目标: 为了更加平均的把数据调配到内存里, 底层用的算法相似于取模.
python3.6 版本之后,字典做了优化,储数据的时候用哈希算法然而在拿出数据的时候,新依照定义字典时的程序进行从新排序所以看起来有序,际上无序。
容器类型总结
数据类型 | 是否可获取 | 是否有序 | 是否能够批改其中元素 |
---|---|---|---|
str 字符串 | 可获取 | 有序 | 不可批改 |
list 列表 | 可获取 | 有序 | 可批改 |
tuple 元组 | 可获取 | 有序 | 不可批改 |
set 汇合 | 不可获取 | 无序 | 可批改(不可手动批改,来回变动也是扭转) |
dict 字典 | 可获取 | 看似有序、理论无序 | 可批改 |
正文完