<二>Python的进制转换和类型转换
2023-12-21 11:26:33
1.进制
Python里的数据类型:
整型(int) 浮点型(fLoat) 复数(complex)
字符串(str) 布尔(bool) 列表(List) 元组(tuple) 字典(dict) 集合(set)
整型就是整数。计算机其实只能保存二进制0和1,一个二进制表示一个比特(Byte)。为了方便数据的表示,同时计算机也支持八进制和十六进制。
Python语言支持二进制、八进制、十六进制以及十进制的数字表示。
a=98 # 默认数字都是十进制的数字。98就是十进制的九十八
b=0b101101101 # 以 b 开头的数字是二进制 0~1
print(b) #当使用print语句打印一个数字的时候,默认也是使用十进制打印输出的,输出365
c=0o34 #以0o开头的数字是八进制 0~7
print(c) # 28
d =0x23 #以0x开头的数字是十六进制 0~9 a~f
print(d) #35
0001 0111 一个二进制是一位,一个比特 Byte
一个字节是八位b
1KB = 1024b
1MB = 1024KB
1GB =1024MB
十进制23
0001 0111 二进制 0b10111
010 111
2 7 八进制 0o27 #三个一位数
0001 0111
1 7 十六进制 0x17 #四个一位数
用内置函数进行进制转换
a= 12 # 十进制的数字12
print(bin(a))
# 0b1109 使用bin内置函数可以将数字转换成为二进制
print(oct(a))
# 0o14 使用oct内置函数可以将数字转换成为八进制
print(hex(a))
#oxc 使用hex内置函数可以将数字转换成为十六进制
2.类型转换
将一个类型的数据转换为其他类型的数据。
2.1将其他数据类型转换为Number类型
可以转换为number类型的类型
布尔类型:True
String类型:纯数字组成的String,或者是符合进制规则的数字+字母
转换成int型:内置函数int,后面可以跟俩个参数,第二个参数表示进制。
print(int("123")) # 123
# print(int("459.9")) #ValueError: invalid literal for int() with base 10: '459.9'
print(int(459.9)) # 459
print(int(True)) # 1
print(int(False)) # 0
print(int("abc", 16)) # 2748
print(int("101010", 2)) # 42
print(int("15", 16)) # 21
print(int('今天是个好天气')) # ValueError: invalid literal for int() with base 10: '今天是个好天气'
转换成float型:内置函数float,后面只可以跟一个参数。
print(float("123")) # 123.0
print(float("459.9")) # 459.9
print(float(459.9)) # 459.9
print(float(True)) # 1.0
print(float(False)) # 0.0
print(float("abc", 16)) # TypeError: float() takes at most 1 argument (2 given)
print(float("101010", 2)) # TypeError: float() takes at most 1 argument (2 given)
print(float("15", 16)) # TypeError: float() takes at most 1 argument (2 given)
print(float('今天是个好天气')) # ValueError: invalid literal for int() with base 10: '今天是个好天气'
2.2将其他数据类型转换为String类型
所有数据类型均可以转换为String类型的类型
转换成String型:内置函数str
str1 = str(45)
str2 = str(34.56)
str3 = str(False)
str4 = str(True)
str5 = str(5+4j)
str6 = str([1.2])
str7 = str((1, 2, 3))
a = {"name": "xiaoming", "age": 18}
print(type(a))
str8 = str(a)
b = ({1, 2, 3, 4, 5})
print(type(b))
str9 = str(b)
print(str1, str2, str3, str5, str6, str7, str8, str9)
print(type(str1), type(str2), type(str3), type(str5), type(str6), type(str7), type(str8), type(str9))
2.3将其他数据类型转换为bool类型
所有数据类型均可以转换为Bool类型的类型
转换成Bool型:内置函数bool
bool1 = bool(45)
bool2 = bool(34.56)
bool3 = bool(False)
bool4 = bool(True)
bool5 = bool(5 + 4j)
bool6 = bool([1.2])
bool7 = bool((1, 2, 3))
a = {"name": "xiaoming", "age": 18}
bool8 = bool(a)
b = ({1, 2, 3, 4, 5})
bool9 = bool(b)
bool10 = bool("今天是个好天气")
print(bool1, bool2, bool3, bool5, bool6, bool7, bool8, bool9, bool10)
print(type(bool1), type(bool2), type(bool3), type(bool5), type(bool6), type(bool7), type(bool8), type(bool9),
type(bool10))
print(bool(''))
print(bool(""))
print(bool(0))
print(bool({}))
print(bool([]))
print(bool(()))
print(bool(None))
print(bool(False))
在python中,只有空字符串'',""
,数字0,空字典{},空列表[],空元组(),空数据None和False会被转换成为False,其他的都会被转换成为True。
文章来源:https://blog.csdn.net/xiaodaimu00/article/details/135106507
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!