<二>Python的进制转换和类型转换

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。

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值