3 tipos de datos de Python

descripción general

        En la sección anterior, presentamos la sintaxis básica de Python, que incluye: formato de codificación, identificadores, palabras clave, comentarios, líneas múltiples, líneas en blanco, sangría, comillas, entrada y salida, importación, operadores, control condicional, bucles, etc. contenido. Python es un lenguaje de programación de tipo dinámico, lo que significa que cuando crea una variable, no necesita declarar su tipo de datos por adelantado. Python maneja esta situación automáticamente y realiza conversiones de tipos cuando es necesario.

        Python proporciona una variedad de tipos de datos para satisfacer diversas necesidades de programación. Comprender y dominar las características, los atributos y el uso de estos tipos de datos es fundamental para escribir código de Python eficiente y confiable. Los tipos de datos en Python se pueden dividir en dos tipos: tipos básicos y tipos complejos. Los tipos básicos incluyen: números, cadenas, etc., y los tipos complejos incluyen: listas, tuplas, conjuntos, diccionarios, etc.

        Los tipos de datos de Python se pueden dividir en dos grandes categorías: tipos de datos inmutables y tipos de datos mutables.

        Un tipo de datos inmutable significa que cuando cambia el valor de la variable correspondiente al tipo de datos, también cambiará su dirección de memoria correspondiente. Los tipos de datos inmutables incluyen: números, cadenas y tuplas. Por ejemplo: después de la variable a=66, luego asigne a=88, aquí en realidad se genera un nuevo objeto digital 88, y a apunta a él, y el objeto digital original 66 se descarta; en este momento, el valor de a es no ha cambiado, bastante Yu Xin generó una.

        Un tipo de datos variable significa que cuando cambia el valor de la variable correspondiente al tipo de datos, su dirección de memoria correspondiente no cambiará. Los tipos de datos variables incluyen: listas, conjuntos, diccionarios. Por ejemplo: después de la variable a=[98, 99, 100], asigne a[1]=50, solo se cambia el valor del segundo elemento de a, y a en sí mismo no se modifica.

Número

        Los números en Python admiten cuatro tipos: int, float, bool y complex.

        Entero (int): se utiliza para representar enteros positivos, enteros negativos y 0, y su rango de valores es ilimitado.

        Tipo flotante (float): se utiliza para representar valores con punto decimal, el tamaño del tipo de punto flotante también es ilimitado, y puede representar números de punto flotante muy grandes.

        Booleano (bool): Se usa para representar dos estados de verdadero y falso, y tiene solo dos valores: Verdadero y Falso, que se usan a menudo en operaciones lógicas y declaraciones de control.

        Tipo complejo (complex): Consta de partes reales e imaginarias, y se puede expresar en la forma a + bj, donde a es la parte real y b es la parte imaginaria. En Python, también puede usar la función compleja para crear un número complejo, como: a = complejo (66, 88).

        Entonces, ¿cómo distinguir estos 4 tipos de números? Puede utilizar la función de tipo y la función de instancia. La función type se usa para obtener el tipo de datos de una variable, y la función isinstance se usa para juzgar si una variable es una instancia de un cierto tipo de datos (incluidas las instancias de la clase principal y las instancias de la subclase).

a = 10
b = 6.9
c = True
d = 25 + 36j
# 输出:<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
print(type(a), type(b), type(c), type(d))

# 以下均输出:True
print(isinstance(a, int))
print(isinstance(b, float))
print(isinstance(c, bool), isinstance(c, int))
print(isinstance(d, complex))

        Además, Boolean es una subclase de Integer, lo que significa que True y False pueden realizar operaciones aritméticas con números. Verdadero es equivalente a 1 y Falso es equivalente a 0.

a = True + 5
b = 9 - False
# 输出:6 9 True True
print(a, b, True == 1, False == 0)

Cadena (cadena)

        Las cadenas son datos de texto en Python, que se utilizan para representar una secuencia de caracteres. Una cadena de caracteres es una secuencia de varios caracteres encerrados entre comillas simples, comillas dobles o comillas triples, y su longitud (es decir, el número de caracteres) puede ser arbitraria. Al contar desde la izquierda, el índice comienza desde 0; al contar desde la derecha, el índice comienza desde -1.

         Para obtener una subcadena de una cadena, puede usar el formato de variable [subíndice] o variable [subíndice principal: subíndice final]. La variable [subíndice] solo puede obtener una cadena que contenga un solo carácter, y la variable [subíndice principal: subíndice final] puede ubicarse entre el subíndice principal y el subíndice final (nota: incluido el subíndice principal, excluyendo el subíndice final) Cadena. Cuando el subíndice principal no está escrito, el valor predeterminado es 0; cuando el subíndice final no está escrito, el valor predeterminado es todos los caracteres a la derecha. El subíndice de la cadena puede exceder el rango del índice, después de exceder, se limitará automáticamente al valor límite disponible.

a = 'hello'
# 输出:hello
print(a)
# 输出:e
print(a[1])
# 输出:hell
print(a[0:-1])
# 输出:hello
print(a[0:])
# 输出:hell
print(a[:-1])
# 输出:hello
print(a[:])
# 输出:el
print(a[1:-2])
# 输出:hel
print(a[-5:3])
# 输出:hello
print(a[-16:99])

        Las cadenas también se pueden concatenar con el signo +, copiar con el signo * y los caracteres especiales se pueden escapar con el signo \. Por supuesto, si no desea que se escape el símbolo \, también es posible: simplemente agregue una r o R ​​delante de la cadena para indicar que la siguiente es una cadena original.

a = 'hello'
b = a + ' CSDN'
# 输出:hello CSDN
print(b)

c = a * 2
# 输出:hellohello
print(c)

d = 3 * a
# 输出:hellohellohello
print(d)

e = 'hello\nCSDN'
# 输出:hello
#CSDN
print(e)

f = r'hello\nCSDN'
# 输出:hello\nCSDN
print(f)

        A diferencia de lenguajes como C/C++, Java, etc., las cadenas en Python no se pueden cambiar. Al intentar asignar un valor a la posición de índice de la cadena, por ejemplo: a[1]='P', aparecerá un mensaje de error similar al siguiente: el objeto 'str' no admite la asignación de elementos. Python tampoco tiene un tipo de carácter separado (por ejemplo: tipo char en C/C++), un carácter es una cadena de longitud 1.

lista (lista)

        Una lista es un tipo de datos de colección ordenada en Python, que puede contener elementos de cualquier tipo (los tipos de datos en la misma lista pueden ser diferentes). Una lista es una secuencia de elementos encerrados entre corchetes y separados por comas, y admite varias operaciones, entre ellas: agregar, eliminar, modificar y buscar elementos.

        Al igual que las cadenas, las listas se pueden indexar y truncar. Una vez truncada la lista, devuelva una nueva lista que contenga los elementos deseados.

a = [10, 20, 30, 40, 50]
# 输出:20 50 [30, 40] [30, 40, 50]
print(a[1], a[-1], a[2:-1], a[2:])
# 输出:[10, 20, 30, 40, 50]
print(a[-10:10])

        Las listas también pueden empalmarse con el signo + y copiarse con el signo *. Si desea determinar si un elemento está en la lista, puede utilizar la palabra clave in. Si desea iterar sobre una lista, puede usar for in. Para recorrido inverso, utilice [::-1]. Se omiten los números a ambos lados de los primeros dos puntos, lo que indica todos los elementos; el lado derecho de los segundos dos puntos es -1, lo que indica el recorrido inverso de los elementos de la lista.

a = [10, 20, 30]
# 输出:[10, 20, 30, 10, 20, 30]
print(a * 2)
# 输出:[10, 20, 30, 1, 2]
print(a + [1, 2])
# 输出:False True
print(66 in a, 20 in a)
# 正向遍历,依次输出:10 20 30
for item in a:
    print(item)
# 反向遍历,依次输出:30 20 10
for item in a[::-1]:
    print(item)

        Python contiene algunos métodos globales para obtener el número de elementos de la lista, el valor máximo de los elementos de la lista, el valor mínimo de los elementos de la lista y la suma de los elementos de la lista, respectivamente: len, max, min, sum.

a = [10, 20, 30]
# 输出:3
print(len(a))
# 输出:30
print(max(a))
# 输出:10
print(min(a))
# 输出:60
print(sum(a))

        Además del método global, la lista en sí tiene algunos métodos miembro, que se utilizan para agregar, insertar, eliminar, contar, invertir, etc. operaciones en la lista, respectivamente: agregar, insertar, eliminar, contar, invertir, etc.

a = [10, 20, 30]
a.append(66)
a.append(20)
# 输出:[10, 20, 30, 66, 20]
print(a)
# 统计元素20的个数,输出:2
print(a.count(20))
# 查找第一个值匹配的元素的位置,输出:2
print(a.index(30))
# 100不在列表中,运行会报错:100 is not in list
# print(a.index(100))
# 移除最后一个元素并返回,输出:20
print(a.pop())
# 输出:[10, 20, 30, 66]
print(a)
# 在某个位置插入一个元素
a.insert(0, 99)
# 输出:[99, 10, 20, 30, 66]
print(a)
# 反转列表
a.reverse()
# 输出:[66, 30, 20, 10, 99]
print(a)
# 移除第一个值匹配的元素
a.remove(30)
# 输出:[66, 20, 10, 99]
print(a)
# 35不在列表中,运行会报错:x not in list
# a.remove(35)
# 追加另一个序列中的元素
a.extend(["hello", "CSDN"])
# 输出:[66, 20, 10, 99, 'hello', 'CSDN']
print(a)
# 清空列表
a.clear()
# 输出:[]
print(a)

        Nota: Los métodos indexar y eliminar de la lista informarán un error en tiempo de ejecución cuando no se pueda encontrar el elemento, en lugar de devolver -1 como otros idiomas, o no hacer nada. Por lo tanto, usando los métodos index y remove, una mejor manera es la siguiente.

a = [10, 20, 30]
index = a.index(66) if 66 in a else -1
# 输出:-1
print(index)
if 20 in a:
    a.remove(20)
# 输出:[10, 30]
print(a)

        Los operadores como >, <, ==, !=, etc. pueden usarse directamente para la comparación de listas. Dos listas son iguales solo si tienen el mismo número de elementos y el tipo y valor del elemento en cada posición. Nota: las listas de diferentes tipos no se pueden comparar y se informará un mensaje de error similar al siguiente en tiempo de ejecución: '<' no se admite entre instancias de 'int' y 'str'.

a = [10, 20, 30]
b = [20, 10, 30]
# 输出:False
print(a > b)
b = [10, 20, 30]
# 输出:True
print(a == b)
b = ['hello', 'CSDN']
# 不同类型的列表比较会报错,提示:'<' not supported between instances of 'int' and 'str'
# print(a < b)

tupla

        Similar a una lista, una tupla es una secuencia de elementos entre paréntesis y generalmente se usa para representar un conjunto fijo de datos. A diferencia de las listas, las tuplas son inmutables, es decir, los elementos de la tupla no se pueden modificar.

        Nota: cuando la tupla contiene solo un elemento, se debe agregar una coma después del elemento. De lo contrario, se utilizarán paréntesis como operadores, lo que generará tipos incorrectos.

a = ('hello', 'CSDN', 'Go')
# 输出:<class 'tuple'>
print(type(a))
a = ()
# 空元组,输出:<class 'tuple'>
print(type(a))
a = (66)
# 一个元素时,没有逗号,a被认为是整型,输出:<class 'int'>
print(type(a))
a = (66, )
# 一个元素时,有逗号,a被认为是元组,输出:<class 'tuple'>
print(type(a))

        Al igual que las cadenas y las listas, las tuplas también se pueden indexar y truncar, y admiten el empalme de símbolos +, la copia de símbolos * y métodos globales como len, max, min, sum, etc., por lo que no entraré en detalles aquí. Los elementos de la tupla no se pueden modificar. Intentar asignarle un valor (por ejemplo: a[0] = 66) generará un mensaje de error similar al siguiente: el objeto 'tupla' no admite la asignación de elementos.

a = (10, 20, 30, 40, 50)
# 输出:20 50 (30, 40) (30, 40, 50)
print(a[1], a[-1], a[2:-1], a[2:])
# 输出:(10, 20, 30, 40, 50)
print(a[-10:10])

a = (10, 20, 30)
# 输出:(10, 20, 30, 10, 20, 30)
print(a * 2)
# 输出:(10, 20, 30, 1, 2)
print(a + (1, 2))
# 输出:False True
print(66 in a, 20 in a)
# 正向遍历,依次输出:10 20 30
for item in a:
    print(item)
# 反向遍历,依次输出:30 20 10
for item in a[::-1]:
    print(item)

a = (10, 20, 30)
# 输出:3
print(len(a))
# 输出:30
print(max(a))
# 输出:10
print(min(a))
# 输出:60
print(sum(a))

Conjunto (colección)

        Una colección en Python es una secuencia desordenada de elementos encerrados entre llaves y no puede contener elementos duplicados. Los conjuntos admiten operaciones de conjunto en matemáticas, tales como: unión, intersección, diferencia, etc. Para crear un conjunto, use llaves {} o la función de conjunto. Nota: Para crear una colección vacía, debe usar la función set en lugar de {}, porque {} se usa para crear un diccionario vacío que se presentará a continuación.

a = {66, 88, 99}
# 使用大括号创建集合,输出:{88, 66, 99}
print(a)
a = {66, 88, 99, 66, 88}
# 集合会自动移除重复元素,输出:{88, 66, 99}
print(a)
a = set(['a', 'b', 'c'])
# 使用set函数从列表创建集合,输出:{'a', 'c', 'b'}
print(a)
a = set('CSDN')
# 使用set函数从字符串创建集合,输出:{'S', 'N', 'D', 'C'}
print(a)
a = set()
# 使用set函数创建空集合,输出:set()
print(a)

        Puede usar la función de agregar para agregar elementos a la colección y puede usar la función de actualización para agregar elementos, listas, tuplas y diccionarios a la colección. Si el elemento ya existe en la colección, no haga nada. Para eliminar elementos de una colección, puede usar la función eliminar y la función descartar, la diferencia es que si el elemento no existe, la función eliminar informará un error, mientras que la función descartar no informará un error. La función pop puede eliminar aleatoriamente un elemento de la colección. Cuando la colección está vacía, la función pop informará un error. La función clear se utiliza para borrar todos los elementos de la colección.

a = {66, 88, 99}
# 输出:3
print(len(a))
a.add(100)
# 输出:{88, 66, 99, 100}
print(a)
a.update([1, 2, 3])
# 输出:{1, 66, 99, 100, 2, 3, 88}
print(a)
a.remove(1)
# 输出:{66, 99, 100, 2, 3, 88}
print(a)
a.discard(2)
a.discard(5)
# 输出:{66, 99, 100, 3, 88}
print(a)
a.pop()
# 输出:{99, 100, 3, 88}
print(a)
a.clear()
# 输出:set()
print(a)

        Los conjuntos también admiten operaciones de conjuntos en matemáticas, como: unión, intersección, diferencia, etc. Los operadores |, &, - y ^ se utilizan para calcular la unión, intersección, diferencia y XOR de dos conjuntos respectivamente, correspondientes a las funciones unión, intersección, diferencia y diferencia_simétrica.

a = set('hello')
b = set('hope')
# 计数集合a和b的并集,输出:{'e', 'p', 'h', 'o', 'l'}
print(a | b)
# 计数集合a和b的交集,输出:{'e', 'h', 'o'}
print(a & b)
# 计数在集合a,不在集合b的元素,输出:{'l'}
print(a - b)
# 计算不同时包含于集合a和b的元素,输出:{'l', 'p'}
print(a ^ b)

# 计数集合a和b的并集,输出:{'e', 'p', 'h', 'o', 'l'}
print(a.union(b))
# 计数集合a和b的交集,输出:{'e', 'h', 'o'}
print(a.intersection(b))
# 计数在集合a,不在集合b的元素,输出:{'l'}
print(a.difference(b))
# 计算不同时包含于集合a和b的元素,输出:{'l', 'p'}
print(a.symmetric_difference(b))

Diccionario

        Un diccionario es un tipo de datos de par clave-valor en Python, que se utiliza para almacenar la relación de mapeo de pares clave-valor. Un diccionario es una colección desordenada de pares clave-valor. La clave debe ser única y el valor puede no serlo. El contenido del diccionario está encerrado entre llaves {}, y los pares clave-valor están separados por comas, y los pares clave-valor están separados por dos puntos.

a = {}
# 空字典,输出:{} 0 <class 'dict'>
print(a, len(a), type(a))
a = {'red': 6, 'blue': 9, 'green': 12}
# 输出:9
print(a['blue'])
# 键不存在时,运行会报错:KeyError: 'black'
# print(a['black'])
if 'white' not in a:
    print('white not in a')
# 移除某个键,必须确保键存在,否则运行时会报错
del a['green']
# 输出:{'red': 6, 'blue': 9}
print(a)

        Los diccionarios proporcionan funciones e interfaces para una búsqueda rápida y acceso a pares clave-valor.

        get(key, default=None) : devuelve el valor de la clave especificada, o el valor predeterminado establecido por defecto si la clave no está en el diccionario.

        setdefault(key, default=None) : si la clave está en el diccionario, devuelve el valor correspondiente. Si no está en el diccionario, inserte la clave y establezca el valor predeterminado predeterminado y devuelva el valor predeterminado.

        pop(key[,default]) : Elimina el valor correspondiente a la clave del diccionario y devuelve el valor eliminado.

        popitem() : Devuelve y elimina el último par de clave y valor del diccionario.

        items() : Devuelve un objeto de vista de pares clave-valor.

        keys() : Devuelve un objeto de vista clave.

        valores() : Devuelve un objeto de vista de valores.

        clear() : Elimina todos los elementos del diccionario.

        fromkeys(seq[, value]) : Crea un nuevo diccionario, usa los elementos en la secuencia seq como las claves del diccionario, y value es el valor inicial correspondiente a todas las claves en el diccionario.

a = {'red': 6, 'blue': 9, 'green': 12}
# 输出:9
print(a.get('blue'))
# 输出:100
print(a.get('black', 100))
# 输出:12
print(a.setdefault('green'))
# 输出:100
print(a.setdefault('white', 100))
# 输出:{'red': 6, 'blue': 9, 'green': 12, 'white': 100}
print(a)
a.pop('red')
# 输出:{'blue': 9, 'green': 12, 'white': 100}
print(a)
a.popitem()
# 输出:{'blue': 9, 'green': 12}
print(a)
# 依次输出:blue 9, green 12
for m, n in a.items():
    print(m, n)
# 依次输出:blue, green
for k in a.keys():
    print(k)
# 依次输出:9, 12
for v in a.values():
    print(v)
a.clear()
# 输出:{}
print(a)
a = dict.fromkeys(['lemon', 'apple', 'banana'], 99)
# 输出:{'lemon': 99, 'apple': 99, 'banana': 99}
print(a)

Supongo que te gusta

Origin blog.csdn.net/hope_wisdom/article/details/132370235
Recomendado
Clasificación