第8天 | 32天学会python,各数据类型之间转换

  • Post author:
  • Post category:python


转换成布尔值

在python中只有数字0,空字符串”和””,空列表[],空元组(),空字典{},空集合set(),空数据None,空值()是Fslae类型;其他所有的数据都是True类型的

# 使用bool内置类可以将其他数据类型转换成布尔值
# 数字0,空字符串,''/"",空列表[],空元组(),空字典{},空集合set(),空数据None,空值()会被转换成False
print(bool(100))  # 将数字100转换成布尔值是True
print(bool(-1))  # -1转换成为布尔值也是True
print(bool(0))  # False
# 数字里,只有数字0被转换为布尔值是False,其他数字转换为布尔值都是True

print(bool('hello'))  # True
print(bool('False'))  # True
print(bool(''))  # False
print(bool(""))  # False
# 字符串里,只有空字符''/""可以转换为False,其他字符串都转换成True

print(bool(None))  # False
print(bool('None'))  # True

print(bool([]))  # 空列表转换成布尔值是False
print(bool({}))  # 空字典转换成布尔值是False
print(bool(()))  # 空元组转换成布尔值是False
print(bool())  # 空值转换成布尔值是False

# {}这是空字典,那空集合怎么表示呢?
s = set()  # 空集合
print(bool(s))  # 空集合转换成布尔值是False

# 在计算机里,True和False其实就是用数字1和0来保存的
print(True+1)  # 等于2
print(False+1)  # 等于1

# 隐式类型转换
if 3:
    print('3是True所以会打印')  # 会打印
if 0:
    print('0是False所以不会打印')  # 不会打印


转换成字符串

repr()和str()都可以

# 使用str内置类可以将其他类型的数据转换为字符串
a = 34
b = str(a)
print(a, type(a))  # 34 <class 'int'>
print(b, type(b))  # 34 <class 'str'>

转换浮点数

a = '12.34'
b = float(a)  # 使用内置float类可以将其他类型数据转换成为float浮点数
print(b)  # 12.34

# 如果字符串不是能被转换成为有效的浮点型,会报错
# c = float('hello')
# print(c) #错误的

c = 101
print(float(c))  # 101.0

m = float('12')  # 将字符串转换成为浮点数
n = float(12)  # 将整型数字转换成为浮点数
print(m, n)  # 12.0 12.0

转换整数

小数、字符串和布尔值支持转换成整数

# 使用 int 内置类可以将数据转换成为整数
a = "31"
b = int(a)
print(a)  # 31 字符串
print(b)  # 31 整数

x = '1a2c'
y = int('1a2c', 16)  # 把字符串1a2c当做16进制转换成为整数
print(y)  # 6700 整数

m = '12'
n = int(m, 8)  # 把字符串的12当做八进制转换成为整数
print(n)  # 10

y = '011010'
z = int(y, 2)    # 把字符串当做二进制转换成为整数
print(z)  # 26

列表、元组、字典和集合之间的转换

# 1.内置类 list tuple set
甲 = [9, 8, 4, 3, 2, 1]
乙 = ('2月','3月','8月','9月','1月')
丙 = {'张三','lisi','森林','火星',998}
# 转换为元组,使用tuple内置类实现
a = tuple(甲)
print(a)  # (9, 8, 4, 3, 2, 1)
a = tuple(丙)
print(a)  # ('张三', '美国', 'lisi', 998, '火星')

# 转换为集合,使用set内置类实现
b = set(甲)
print(b)  # {1, 2, 3, 4, 8, 9}
b = set(乙)
print(b)  # {'9月', '1月', '2月', '8月', '3月'}

# 转换为列表,使用list内置类实现
c =list(乙)
print(c)  # ['2月', '3月', '8月', '9月', '1月']
c = list(丙)
print(c)  # ['张三', 998, 'lisi', '森林', '火星']

# 2.python里有一个比较强大的内置函数eval,可以执行字符串里的代码(把字符串作为代码执行)
a = input('请输入您的用户名:')  # a是一个字符串;比如输入的是1+1
a = '1+1'
print(eval(a))  # 2

列表、元组、字典和集合之间的加减乘以及in和not in运算



版权声明:本文为qq_42724611原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。