一、类型检查
通过类型检查,可以检查指定值(变量)的类型
通过type函数来检查
a = 123 # 数值类型
a = "123" # 字符串类型
print(type(a)) # <class 'int'>
print(type(1)) # <class 'int'>
print(type(1.5)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('hello')) # <class 'str'>
print(type(None)) # <class 'NoneType'>
二、类型转换
所谓的类型转换,将一个类型的对象转换为其他对象
类型转换不是改变对象本身的类型,而是根据当前对象的值创建一个新对象
- 类型转换四个函数 int() float() str() bool()
- int() 可以用来将其他的对象转换为整型
- float() 和 int()基本一致,不同的是它会将对象转换为浮点数
- str() 可以将对象转换为字符串
- bool() 可以将对象转换为布尔值,任何对象都可以转换为布尔值
规则:
规则:
# 布尔值:True -> 1 False -> 0
# 浮点数:直接取整,省略小数点后的内容
# 字符串:合法的整数字符串,直接转换为对应的数字
# 如果不是一个合法的整数字符串,则报错 ValueError: invalid literal for int() with base 10: '11.5'
# 对于其他不可转换为整型的对象,直接抛出异常 ValueError
#bool类型的规则:
#规则:对于所有表示空性的对象都会转换为False,其余的转换为True 哪些表示的空性:0 、 None 、 '' 。。。
类型转换之后,需要重新赋值才能改变原来变量
因为:
int()函数不会对原来的变量产生影响,他是对象转换为指定的类型并将其作为返回值返回, 如果希望修改原来的变量,则需要对变量进行重新赋值。
a = False
a = int(a) # 0
a = '123'
a = int(a) # 123
a = 11.6
a = int(a) # 11
a = '11.5' # 不合法字符串
# a = int(a) # ValueError: invalid literal for int() with base 10: '11.5'
a = None
# a = int(a) # TypeError: int() argument must be a string
a = 1
a = float(a) # 1.0
a = False
a = float(a) # 0.0
a = 123
a = str(a) # 123
a = None
a = bool(a) # False