### -python的六大标准数据类型
(1)Number 数字类型(int float bool complex)
(2)String 字符串类型
(3)List 列表类型
(4)Tuple 元组类型
(5)Set 集合类型
(6)Dict 字典类型
->(1)Number 数字类型分类
int : 整数类型 (正整数[各种进制] 负整数 0)
float: 浮点数类型 (1普通小数 2科学计数法表示的小数 例:a = 3e-5 #3e-05 )
bool: 布尔值类型 (真True和假False)
complex: 复数类型 (声明复数的2种方法) (复数用作于科学计算中,表示高精度的数据,科学家会使用)
### -自动类型转换
```
当2个不同类型的数据进行运算的时候,默认向更高精度转换
数据类型精度从低到高:bool int float complex
```
### -强制类型转换
```
-->Number 部分
int : 整型 浮点型 布尔类型 纯数字字符串
float: 整型 浮点型 布尔类型 纯数字字符串
complex: 整型 浮点型 布尔类型 纯数字字符串 (复数)
bool: ( 容器类型数据 / Number类型数据 都可以 )
```
```
-->容器类型部分
str: ( 容器类型数据 / Number类型数据 都可以 )
list: 字符串 列表 元组 集合 字典
tuple: 字符串 列表 元组 集合 字典
set: 字符串 列表 元组 集合 字典 (注意:相同的值,只会保留一份)
dict: 使用 二级列表 或 二级元组 (二级集合语法上不错,但是无序,不建议使用)
# ###Number (int)
# 整型 :(正整数 0 负整数)
# 二进制用0b表示
intvar = 0b1010
print(intvar)
print(type(intvar))
print(id(intvar))
# type 可以获取到变量的类型
# id 可以获取该变量所指向的那个值得地址
# 八进制用0o来表示
intvar = 0o127
print(intvar)
print(type(intvar))
print(id(intvar))
# 十六进制用0x来表示
intvar = 0xff
print(intvar)
print(type(intvar))
print(id(intvar))
intvar = 0
print(intvar,type(intvar))
intvar = -99
print(intvar,type(intvar))
# float 浮点型(小数类型)
# 表示方法一
floatvar = 3.14
print(floatvar,type(floatvar),id(floatvar))
# 表示方法二 (科学计数法)
floatvar = 5.88e-2
floatvar = 4.11e3
print(floatvar,type(floatvar),id(floatvar))
# bool 布尔类型 (True False)
boolvar = True
boolvar = False
print(boolvar,type(boolvar),id(boolvar))
a = 4.15
b = -4.15
print(id(a),id(b))
# complex 复数类型
'''
复数: 实数 + 虚数 组成的
j : 如果有一个数,他的平方等于-1,那么这个数就是j
科学家认为有。属于高精度的类型
'''
# 表示方法一
complexvar = 4+3j
complexvar = 4j
print(complexvar,type(complexvar),id(complexvar))
# 表示方法二
# complex(实数,虚数)
complexvar = complex(8,-3)
print(complexvar,type(complexvar),id(complexvar))
# ###字符串类型
# 用引号引起来的就是字符串 '' "" ''' '''
转义字符:
(1)将有意义的字符变得无意义
(2)将无意义的字符变得有意义
语法: \ + 某个字符
\n,\r\n: 代表换行
\t: 代表一个缩进 水平制表符
\r: 将\r后面的字符串拉倒当前行首
'''
# (1)单引号引起来的字符串
strvar = '今天天气有雾霾'
print(strvar,type(strvar),id(strvar))
# (2)双引号引起来的字符串
strvar = "小楼昨夜又东风"
strvar = "小楼昨'夜'又东风" # 外面是双引号,里面需要单引号,与注释的嵌套注意点相同
strvar = "故国不堪回首\n月明中"
strvar = "故国不堪回首\r\n月明中"
strvar = "故国不堪回首\t月明中"
strvar = "故国不堪\n回首\r月明中"
strvar = "故国不堪回\"首\"月明中" # 将有意义的双引号变得无意义
print(strvar,type(strvar),id(strvar))
# (3)三引号引起来的字符串 (三引号字符串,支持跨行操作)
strvar = """
本来无一'物',
何处惹尘"埃"。
"""
# strvar = '''
# 床前明月光,
# 地上鞋两双
# '''
print(strvar)
# (4)元字符串 r + "字符串" (让字符串里面的转义字符失效)
strvar = r"今天拉肚\r子\t了\n么?"
print(strvar)
# (5)字符串的格式化
"""
%d : 整型占位符
%f :浮点型占位符
%s :字符串占位符
语法: 字符串 % (值1,值2,。。。。。)
"""
# %d
strvar = "xx昨天买了%d个娃娃" % (5)
print(strvar)
# %2d 站两个位置,默认居右
strvar = "xx昨天买了%2d个娃娃" % (5)
print(strvar)
# %-4d 站两个位置,默认居左
strvar = "xx昨天买了%-4d个娃娃" % (5)
print(strvar)
%f
小数点后默认精度保留6位
strvar = "华为出了一款折叠手机,价格为%f" % (9.99)
# %f 精确位数的时候,存在四舍五入
strvar = "华为出了一款折叠手机,价格为%.1f" % (9.99)
print(strvar)
%s
aa = "xxx是一个大帅锅"
strvar = "%s" % (aa)
print(strvar)
# 综合案例
strvar = "xx开工资了,一共%.2f ,看好了一辆车,价格%d元,心情在%s" % (9.99,10,"崩溃的边缘")
print(strvar)