Explicación detallada de los tipos de datos de Python (tipos variables e inmutables)

1. Información general

Inserte la descripción de la imagen aquí

2 6 tipos de datos estándar

Inserte la descripción de la imagen aquí

2.1 Datos inmutables: número, cadena, tupla

  • Elementos de este tipo 不能被修改 -> 若强行赋值,则报错
var_number = 123
var_string = "abc"
var_tuple = (1, 2, 3)

print(id(var_number))
print(id(var_string))
print(id(var_tuple))

# var_string[0] = 'A'  # 报错,字符串中的元素不能被修改
# var_tuple[0] = (11)  # 报错,元祖中的元素不能被修改

2.2 Datos variables: lista, conjunto, diccionario

  • Elementos de este tipo 可以被修改 -> id() 不变
var_list = [1, 2, 3]
var_set = {
    
    'a', 'b', 'c'}
var_dictionary = {
    
    'name': 'YoYo', 'age': 18}

print(id(var_list))
print(id(var_set))
print(id(var_dictionary))

var_list[0] = '111'
var_set.add('d')
var_dictionary.pop('age')

print('------- 万恶的分割线 -------')
print(id(var_list))
print(id(var_set))
print(id(var_dictionary))

print(var_list)  # ['111', 2, 3]
print(var_set)  # {'d', 'b', 'c', 'a'}
print(var_dictionary)  # {'name': 'YoYo'}

3 Juicio del tipo de datos

3.1 La diferencia entre type e isinstance

Similitud: en circunstancias normales, se puede utilizar para determinar el tipo de variable

a = 1

print(type(a))  # int
print(isinstance(a, int))  # True

diferencia:

1. type() 不会认为 '子类' 是一种 '父类' 类型
2. isinstance() 会认为 '子类' 是一种 '父类' 类型
class Father:
    pass


class Son(Father):
    pass


print(isinstance(Father(), Father))  # True
print(isinstance(Son(), Father))  # True

print(type(Father()) == Father)  # True
print(type(Son()) == Father)  # False

Supongo que te gusta

Origin blog.csdn.net/qq_34745941/article/details/108485076
Recomendado
Clasificación