#强制数据类型转换(显式数据类型转换)
#int() 将其他数据类型转化为整数
'''
1.整数无需转换
2.浮点数转换为整数 直接去掉小鼠部分保留整数部分
3.布尔值转换 True -》1 False -》0
4.复数无法转换
5.纯整数字符串可以转换,其余都不可以
6.列表,元祖,字典,集合无法转换
'''
num1 = 22.3
print(num1,type(num1))
newnum1 = int(num1)
print(newnum1,type(newnum1))
num1 = True
print(num1,type(num1))
newnum1 = int(num1)
print(newnum1,type(newnum1))
var = '22'
print(var,type(var))
newvar = int(var)
print(newvar,type(newvar))
#float() 将其他数据类型转化为浮点数
'''
1.整数转换为浮点数 加.0
2.浮点数无需转换
3.布尔值 True->1.0 False->0.0
4.复数无法转换
5.字符串中纯整数或者纯浮点数字符串可以转换,其他不可以
6.列表,元祖,字典,集合无法转换
'''
var = 10
print(var,type(var))
newvar = float(var)
print(newvar,type(newvar))
var = False
print(var,type(var))
newvar = float(var)
print(newvar,type(newvar))
var = "10"
print(var,type(var))
newvar = float(var)
print(newvar,type(newvar))
var = '31.4'
print(var,type(var))
newvar = float(var)
print(newvar,type(newvar))
#bool() 将其他数据类型转化为布尔值
'''
能够转化为布尔值False的情况
1.整形 0
2.浮点数 0.0
3.布尔值 False
4.复数 0+0j
5.字符串 空字符串''
6.列表 []
7.元组 ()
8.字典 {}
9.集合 set()
'''
var = 0
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = 0.0
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = 0+0j
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = []
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = ()
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = ''
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = {}
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
var = set()
print(var,type(var))
newvar = bool(var)
print(newvar,type(newvar))
#complex()将其他区数据类型转换为复数
'''
1.整数 整数+0j
2.浮点数 浮点数+0j
3.布尔值 True -》1+0j False -》0j
4.复数无序转化
5.字符串 纯整数和浮点数,复数的字符串可以转化,其余都不可以
6.列表,元祖,字典,集合无法转换
'''
var = '2+2j'
print(var,type(var))
newvar = complex(var)
print(newvar,type(newvar))
#str() 将其他数据类型转化为字符串
'''
将其他数据类型全部转换为字符串格式原样输出!
'''
#容器类数据之间可以互相转换,其他数据(除了字符串)不能转换为容器数据
#list() 将其他数据转换为列表
'''
1.整形,浮点型,布尔值,复数无法转换!
2.字符串转换时每个字符转化为列表中的每个值
3.列表无需转换
4.元祖只改变类型顺序不变
5.集合转换为列表,顺序随机
6.字典转换为列表,仅保留键,舍弃值!
'''
var = '七个小矮人和白雪公主'
print(var,type(var))
newvar = list(var)
print(newvar,type(newvar))
var = ['天宝','烤鸡',2]
print(var,type(var))
newvar = list(var)
print(newvar,type(newvar))
var = (1,2,'笨蛋')
print(var,type(var))
newvar = list(var)
print(newvar,type(newvar))
var = {1:2,'zhu':'马德华'}
print(var,type(var))
newvar = list(var)
print(newvar,type(newvar))
var = {1,2,3,'铸钢类'}
print(var,type(var))
newvar = list(var)
print(newvar,type(newvar))
#tuple() 将其他数据类型转化为元祖
'''
1.整形,浮点型,布尔值,复数无法转换!
2.字符串转换时每个字符转化为元祖中的每个值
3.列表只改变类型顺序不变
4.元祖无需转换
5.集合转换为元祖,顺序随机
6.字典转换为元祖,仅保留键,舍弃值!
'''
var = '人生不过三十年!'
print(var,type(var))
newvar = tuple(var)
print(newvar,type(newvar))
#set() 将其他数据类型转换为集合
'''
1.整形,浮点型,布尔值和复数无法转换
2.字符串将每个字符转换为集合中的每个值,相同的值只会保留一份
3.列表转换为集合,直接转换,,相同的值只会保留一份美(有序数据转换为无序数据)
4.元祖转换为集合,直接转换,,相同的值只会保留一份(有序数据转换为无序数据)
5.集合无需转换
6.字典转换为集合,仅仅保留键码去掉值
'''
var = '1232143214234214324321'
print(var,type(var))
newvar = set(var)
print(newvar,type(newvar))
var = ['quexinyan',1,2,1]
print(var,type(var))
newvar = set(var)
print(newvar,type(newvar))
var = {1:2,3:4,1:3}
print(var,type(var))
newvar = set(var)
print(newvar,type(newvar))
#dict() 将其他数据类型转换为字典
#二级列表
var = [
['a','啊'],
['bb','拜拜'],
['c','吹分级'],
]
print(type(var))
newvar = dict(var)
print(newvar,type(newvar))
#二级元祖
var = (
('孙','孙俪'),
('腾','腾格尔'),
('抓','抓鸡鸡鸡鸡'),
)
print(type(var))
newvar = dict(var)
print(newvar,type(newvar))
#集合
var = {
('kai','开垦人'),
('sfad','电脑发了'),
(1,2),
('散发的','萨达法')
}
print(type(var))
newvar = dict(var)
print(newvar,type(newvar))
# 普通运算
name = "价位动"
print(name)
#加法运算
num1 = 1
num2 = 2
result = num1 + num2
print(result)
#减法
num1 = 7
num2 = 2
result = num1 - num2
print(result)
#地板除
num1 = 10
num2 = -3
result = num1 // num2
print(result)
#赋值运算
a = 1
a += 1
print(a)
#逻辑运算 and有假即假 or有真则真 not真变假,假变真
lj1 = True
li2 = False
result = lj1 and li2
print(result)
lj1 = True
li2 = False
result = lj1 or li2
print(result)
lj1 = True
result = not lj1
print(result)
#按位与运算
var = 19
var1 = 10
result = var & var1
print(result)
#按位或运算
var = 11
var1 = 12
result = var | var1
print(result)
#按位非运算
var2 = 10
result = ~ var2
print(result)
#按位抑或运算
var1 = 12
var2 = 9
result = var1 ^ var2
print(result)
#按位左移运算
var1 = 12
var1 = 12 << 1
print(var1)
#按位右移运算
var1 = 12
var1 = 12 >> 1
print(var1)
#成员检测,对str,list,tuple,set,dict都可以检测
#in
strs = "贱人就是矫情"
result = "是" in strs
print(result)
#not in
dicts = {'天宝将军':'宇文成都','三国第一':'吕布','赵云':'不怕死'}
result = '天宝将军' not in dicts
print(result)
#身份检测
#is,is not
var1 = 10
var2 = 10
result = var1 is var2
print(result)
var3 = -5
var4 = -5
result = var3 is not var4
print(result)
str1 = '-6'
str2 = '-6'
result = str1 is str2
print(result)
'''
整数 -5 + id相同
浮点数 0.0 + id相同
复数 0j id相同
布尔值 id相同
相同字符串 id相同
'''
#数据类型检测isinstance(),检测是否是指定的数据类型
var = 10.12
result = isinstance(var,(int,float))
print(var)
Python学习交流、资源共享群:563626388 QQ
python基础(02)——数据类型转化以及运算
最新推荐文章于 2023-02-10 21:08:12 发布