文章目录
Python的数据类型
Python中可以自定义数据类型,可以具有无限种数据类型。 系统默认提供6个标准数据类型:
1.Number类型(数值)
2.String类型(字符串)
3.List类型 (列表)
4.tuple类型(元组)
5.Dictionary类型(字典)
6.Set类型(集合)
在Python中我们不需要声明一个变量的数据类型,只需要定义它 并 为它赋值,因为系统会根据我们给它的值自动分辨它的数据类型。
数据的信息查看:
内存标识:id()
类型检测:type()
值的使用:直接使用
1.Number类型
Number类型主要包含数学相关的数据:一共分为4种小类型:
1.整型
整型就是整数。包括正整数负整数和0
二进制(0b开头)
变量 = 0b10101
八进制(0o开头)
变量 = 0o777
十进制(不需要)
变量 = 250
十六进制(0x开头)
变量 = 0xabcd
2.浮点型
浮点型就是小数。
使用小数表示浮点数
float1 = 3.141592653
科学计数法表示浮点数
float2 = 314e-2 # 314*10的-2次方
3.复数
什么是复数。 复数由实数和虚数两部分组成,其中真正存在的数字就是实数,假定一个数的平方=-1 那么这个数就是虚数的基本单位
表达式方式:
163+2j 这就是一个典型的复数
使用复数功能结构
com2 = complex(15,3)
4.布尔类类型
布尔值就是表示确定或者否定的数据类型,只有2个值:True和False
True 表示真的,对的,是,有等 肯定的状态
False 表示假的,错的,不是,没有,否定的状态
在python当中没有真正的布尔类型,而是使用数字0来表示False,数字1表示True,所以bool是Number类型
2.String类型
字符串就是文字类型。
1.字符串的声明:
单引号声明字符串
变量 = '值'
双引号声明字符串
变量 = "值"
三引号声明变量
变量 = '''值'''
或者
变量 = """值"""
2.三种声明字符串方式的使用特征:
单引号和双引号没有区别,所以这个看习惯
三引号声明字符串的方式适合大数据的字符串,多行数据都适合
3.注意事项:
单引号中不可以直接使用单引号
双引号中不可以直接使用双引号
三引号中可以随意使用单双引号
4.字符串的转义操作:
使用特定格式,表示特定意义和功能的字符就是转义字符。以上三种声明字符串方式均可以转义字符。
转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
不同的操作系统使用\n和\r进行换行操作,window和linux操作系统
window \n即可
linux \n\r
3.List类型 (列表)
列表就是一系列数据的顺序组合.
列表格式:
变量 = [值,值,值....]
例子:
list1 = ['张全蛋','赵铁柱','王者荣耀','英雄联盟','AA',123,12]
列表的标志符号是[]
4.tuple类型(元组)
元组也是一系列数据的顺序组合,但是所有数据禁止修改,元组是一种特殊的列表仅此而已。
元组格式
变量 = (值,值,值.....)
或者
变量 = 值,值,值.....
元组的标志符号是逗号不是()。
元祖拼接:
下面是一个小案例(默认无法转list的tuple类型):
a=(1,2,3)
b=(4,5,6)
tuples = a+b
结果:(1,2,3,4,5,6)
tuples = ((a),)+((b),)
结果((1,2,3),(4,5,6))
这才是我想要的结果
5.Dictionary类型(字典)
字典类型就是一个完整的数据由标志和值组成的多数据的组合,他没有顺序。
字典格式:
变量 = {键:值,键:值....}
键就是标志或者说是目录
值就是真实的值
字典的标志符号是{}
6.Set类型(集合)
集合就是一组数据的无序组合。集合中的数据永远是唯一的数据不会出现重复
集合的格式:
变量 = {值,值,值...}
没有特定的标识符号就是和字典一样使用{}。
数据类型转换
将数据从当前类型变为其他类型的过程就是数据类型转换。
数据类型转换分为两大类:
自动数据类型转换(隐式)和强制数据类型转换(显式)
自动类型转换
自动类型转换就是在程序需要的时候将数据进行类型改变而进行的操作。
特征:
1.自动类型转换由程序 根据需要自动进行,不需要人工干预
2.自动类型转换发生在运算或者判断过程当中
3.类型转换会向着更加精确的类型进行转换
强制类型转换
强制类型转换是根据程序需要,由程序员通过操作强制改变数据的类型。转换过程可以看见。
强制类型转换部分功能:
int() 强制将数据转化为整型
1.纯数字字符串转化为整型时,类型改变,值不变
2.只有纯整数字符串才可以转换,其他均不可以
3,浮点型可以转化为整型,去掉小数点后面的部分
float() 强制将数据转化为浮点型
1.整数字符串和浮点数字符串均可以转化为浮点型
2.转化过程中类型改变,值不变
3.整型也可以用于浮点型转换
complex() 生成一个复数
bool() 强制将数据转化为布尔值
能够转化为布尔值False的情况
1.字符串 空字符串
2.整型 0
3.浮点型 0.0
4.复数 0+0j
5.布尔值 Flase
6.列表 [] 空列表
7.元组 () 空元组
8.字典 {} 空字典
9.集合 set()空集合
str() 字符串类型转换
所有数据类型都可以转换为字符串,转换规则就是在原有数据基础上加了引号变成了字符串的格式。
例如:[1,2,3] =
>
"[1,2,3]"
list() 将其他数据转换为列表类型
能够进行list转换的数据类型只有4种
str 字符串
set 集合
tuple 元组
dict 字典
所有可以进行list转换的数据必须是iterable数据
tuple() 将其他数据类型转换为元组类型
能够进行tuple转换的数据类型只有4种
str 字符串
set 集合
list 列表
dict 字典
所有可以进行tuple转换的数据必须是iterable数据
dict() 将其他数据转化为字典类型
字典类型转换对于转换数据有严格的要求:
可以转化的类型有三种:
list 列表
tuple 元组
set 集合
以上所有类型的每个数据必须由元组组成,并且每个元组必须有2个值
例子:
{('aa','AA'),('bb','BB'),('cc','CC')}
[('aa','AA'),('bb','BB'),('cc','CC')]
(('aa','AA'),('bb','BB'),('cc','CC'))
set() 集合类型转换
能够进行set转换的数据类型只有4种
str 字符串
tuple 元组
list 列表
dict 字典
所有可以进行set转换的数据必须是iterable数据