一、数据类型
Python 默认拥有以下内置数据类型:
文本类型: str
数值类型: int, float, complex
序列类型: list, tuple, range
映射类型: dict
集合类型: set, frozenset
布尔类型: bool
二进制类型:bytes, bytearray, memoryview使用 type() 函数可以获取任何对象的数据类型:
x = str("Hello") # str 字符串类型
x = int(1) # int 整数类型
x = float(1.5) # float 浮点数类型
x = complex(1+2j) # complex 复数类型
x = list([1,2,3]) # list 列表类型
x = tuple((1,2,3)) # tuple 元组类型
x = range(3) # range 范围类型
x = dict(id=1,name="张三") # dict 字典类型
x = set({1,2,3}) # set 集合类型
x = frozenset({1,2,3}) # frozenset 不可改集合类型
x = bool(False) # bool 布尔类型
x = bytes(3) # bytes 字节类型
x = bytearray(3) # bytearray 字节数组类型
x = memoryview(bytes(3)) # memoryview 内存视图类型
二、类型转换
1、int,float,complex相互转换
x = 1
y = 3.24
a = float(x) #1.0
b = int(y) #3
c = complex(x) #complex不可转化为int或者float
d = complex(y) #complex不可转化为int或者float
2、str 类型可以转换为 int、float、complex
# 首尾可以空格 int
a = int(' 123_000 ') # 字符串中可以使用下划线,但不能出现其它0-9之外的字符
print(type(a), a) # <class 'int'> 123000
# 首尾可以空格 float
b = float('2.5')
b = float('2')
b = float('2.')
b = float('.5')
b = float(' 2_000.567_789 ') # 支持下划线
print(type(b), b)
# 首尾可以空格 complex
c = complex('1+2j')
c = complex('1')
c = complex('2j')
c = complex(' 2j ')
print(type(c), c)
3、int, float, complex 也都可以转换为 str
s = str(12_3)
print(type(s), s) #<class 'str'> 123
s = str(123.5)
print(type(s), s) #<class 'str'> 123.5
s = str(12+3j)
print(type(s), s) #<class 'str'> (12+3j)
三、判断类型
# isinstance() help(print)
# 函数的原型:isinstance(obj, class_or_tuple, /)
a = 1
a = 1.5
print(isinstance(a, int)) # 判断变量 a 是否是 int 类型
# 将三种类型构成一个元组,可以判断 a 是否是这三种类型之一
print(isinstance(a, (int, float, complex)))