初识python02

类型转换

在python中,类型的转换,其实不是转换这个对象的本身,转换的是它的值的类型,实际上没有动这个对象的类型,实际上就是根据这个对象的值创建一个新的对象【应证了python是强类型,不可转变类型的说法】

a = True
print("a=",a)
print(type(a))  # <class 'bool'>
print("======================")
# 调用int函数来转换a的值的类型,注意:不会转换a的类型
int(a)
print(type(int(a)))  # <class 'int'>

int()函数

该函数可以用来将其他对象转换类型,规则如下:

  • 布尔值
    值为True的布尔值转换为int类型后,该布尔值的值类型变成1
    值为False的布尔值转换为int类型后,该布尔值的值类型变更成0
  • 浮点数
    浮点数的值转换成int之后,值直接被取整
f = 11.5
print(int(f))  # 11
  • 字符串
    如果是合法的整数字符串,则直接转换成对应的数值
str1 = "12"  
print(int(str1))  # 12

如果是非法的整数字符串,则报错

str2 = "11.7"
print(int(str2))  # ValueError: invalid literal for int() with base 10: '11.7',哪怕你这里写的是11.0还是一样报错!
  • none也不可以转换,不然也会报错
b = None
print(int(b))  # TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

float()函数

  • 布尔值
    值为True的转换后变成1.0,值为False的转换后变成0.0
  • 整数
    转换后在原本的值加上.0
d = 9
print(float(d))  # 9.0
  • 字符串
    允许字符串带着小数去转换成浮点数,这一点是与int()函数不同的

bool()

若是表示空性的【类似"",None,0】,则转为False,否则全部转为True

c = 5
print(bool(c))  #True
posted @ 2020-09-12 12:29  L小龙虾  阅读(84)  评论(0编辑  收藏  举报