Red de conocimiento informático - Problemas con los teléfonos móviles - Varios tipos de datos en Python

Varios tipos de datos en Python

En resumen, los tipos de datos en Python se dividen en las siguientes categorías:

Número (número), incluido int, long, float, complex

Cadena (cadena), como hola, hola, hola

Lista (lista), por ejemplo, 4], [1, 2, 3,, 4]

Diccionario por ejemplo {1: nihao, 2: hola }

Tupla como (1, 2, 3, abc)

Bool como Verdadero, Falso

Debido a que Python piensa que todo es un objeto, Python No tiene que ser como Declarar activamente el tipo de variables como otros lenguajes de alto nivel.

Por ejemplo, si quiero asignar un valor de 100 a la variable i, implementación de Python:

i=100

Implementación de C#:

int i = 100;

Aquí hay una breve descripción de estos tipos

Tipos numéricos

int y long

Nosotros use int y long se combinan por una razón. La razón por la que int y long se combinan es porque python3.x ya no distingue entre int y long, sino que usa int. Aquí hay un ejemplo en Python 2.7:

i = 10

tipo(i)

i=10000000000

tipo(i )

Entonces, ¿por qué 10 es un int y 10000000000 un long? maxint

2147483647

¿Por qué el valor obtenido mediante el método anterior es de tipo largo (la 'L' después del número indica tipo largo), porque el valor de 2**31 es 2147483648, este El valor es de tipo largo. Resta 1 del tipo largo. El resultado sigue siendo largo, pero de hecho, el valor máximo del tipo int es 2147483647

type(2147483647)

type(2147483648)

Tipo de punto flotante

El tipo de punto flotante es básicamente el mismo que el de punto flotante en otros idiomas. Para decirlo sin rodeos, los números de punto flotante son. números con punto decimal y la precisión depende de la máquina. Por ejemplo:

i = 10000.1212

tipo(i)

complejo: tipo plural Para conocer el significado y uso específicos, consulte los documentos pertinentes.

Tipo de cadena

Las cadenas tienen tres métodos de declaración: comillas simples, comillas dobles y comillas triples (incluidas tres comillas simples o tres comillas dobles). Por ejemplo:

str1 = hola mundo

str2 = hola mundo

str3 = hola mundo

str4 = hola mundo

imprimir str1

hola mundo

imprimir str2

hola mundo

imprimir str3

hola world

print str4

hola mundo

En Python, las cadenas tienen dos tipos de datos: el tipo str usa codificación ASCII, lo que significa que no puede representar caracteres chinos .

El tipo Unicode utiliza codificación Unicode y puede representar cualquier carácter, incluido el chino y otros idiomas. No hay ningún tipo de carácter en Python como en el lenguaje C. La cadena usa codificación ASCII de forma predeterminada. Para mostrar la declaración Unicode, debe agregar u o U delante de la cadena. Por ejemplo:

str1 = hola

print str1

hola

str2 = uChina

print str2

p>

China

Dado que las cadenas a menudo se manipulan en proyectos y surgen muchos problemas debido a problemas de codificación de cadenas, me gustaría decir algunas palabras sobre la codificación de cadenas a continuación. Cuando trabaja con Python, a menudo se encuentra con codificaciones ASCII, Unicode y UTF-8. Vea la introducción a este artículo. Mi comprensión simple es que la codificación ASCII es adecuada para caracteres en inglés, Unicode es adecuada para caracteres que no están en inglés (como chino, coreano, etc.) y utf-8 es un formato de almacenamiento y transmisión que es una recodificación de Uncode. caracteres (en formato de 8 bits) código de unidad). Por ejemplo:

u = uhan

print repr(u) # uu6c49

s = u.encode(UTF-8)

print repr(s) # xe6xb1x89

u2 = s.decode(UTF-8)

print repr(u2) # uu6c49

Explicación: declarar Unicode caracteres La codificación Unicode de la cadena "han" es "u6c49". Después de la conversión de codificación UTF-8, su codificación se convierte en "xe6xb1x89".

Resumen de la experiencia de codificación:

1. Declare el formato de codificación en el encabezado del archivo Python;

#-*- Codificación: utf-8 -*-

2. Declare la cadena como tipo Unicode, es decir, para leer y escribir archivos, se recomienda usar codecs.open() en lugar del open() integrado. Siga un principio, que. formato para escribir, solo qué formato usar para leer;

Suponga que en un archivo de texto guardado en formato ANSI, hay varios caracteres chinos como "caracteres chinos" si usa el siguiente código directamente y muestra. en la interfaz gráfica de usuario o en el integrado. Si lo imprime en el entorno de desarrollo (por ejemplo, en texto sublime), aparecerán "caracteres chinos".

Por ejemplo, al imprimir en texto sublime o pydev, aparecerán caracteres confusos o excepciones porque el códec lee el contenido de acuerdo con el formato de codificación del texto mismo:

f = codecs.open(d: /test .txt)

content = f. read()

f.close()

imprimir contenido

Reemplazar con el siguiente contenido (solo para chino):

# -*- Codificación: utf-8 -*-

importar códecs

f = codecs.open(d :/ test.txt)

content = f.read()

f.close()

if isinstance(content, unicode):

imprimir contenido.encode(utf-8)

imprimir utf-8

de lo contrario:

imprimir contenido.decode(gbk).encode( utf- 8)

Tipo de lista

Listas es un tipo de colección modificable. Sus elementos pueden ser tipos básicos como números y cadenas, o listas, tuplas, diccionarios y otros objetos de colección, incluso personalizados. tipos. Su definición es la siguiente:

nums =

tipo(nums)

print nums

print lst

imprimir números

lst.append(6)

imprimir lista #

imprimir números #

nums.sort( comparar)

imprimir números #

lstiter = iter(lst)

imprimir

lstiter = iter(lst)

para i in range(len(lst)):

print lstiter.next() #Imprimir en orden

1

2

3

4

5

Tipo de tupla

El tipo de tupla es una secuencia como la lista A diferencia de la lista, la tupla. tipo No se puede modificar.

La declaración de la tupla es la siguiente:

lst = (0, 1, 2, 2, 2)

lst1 = (hola,)

lst2 = (hola)

print type(lst1) # Si solo hay un elemento, va seguido de una coma, de lo contrario es tipo str

print type(lst2) #

Tipo de diccionario

El tipo de diccionario es una colección de pares clave-valor, similar al Diccionario en C#

dict1 = {}

print type(dict1) # Declarar un diccionario vacío

dict2 = {nombre: kitty, edad: 18}# Declarar directamente el tipo de diccionario

dict3 = dict([(nombre, kitty ), (edad, 18)])# Utilice la función dict para convertir una lista en un diccionario

dict4 = dict(name=kitty, age=18) # Utilice la función dict para convertir una lista en un diccionario con argumentos de palabras clave

dict5 = {}.fromkeys([nombre, edad]) # Utilice la función fromkeys para generar un diccionario a partir de la lista de valores clave, correspondiente a Ninguno {edad: Ninguno, nombre: Ninguno}

Operaciones básicas del diccionario:

# Agregar elemento

dict1 = {}

dict1[mykey] = hola mundo # Directamente asigne valores a pares clave-valor no existentes y agregue un nuevo elemento inmediatamente

dict1[(my, key)] = esta clave es una tupla # Las claves del diccionario pueden ser de cualquier tipo inmutable , como números, cadenas, tuplas, etc.

#Número de pares clave-valor

imprimir len(dict1)

#Comprobar si contiene una clave

imprimir mykey en dict1 #True Comprueba si contiene un par clave-valor #False

imprime hola en dict1 #Delete

del dict1[mykey] #Elimina el par clave-valor con la clave mykey

Continúe usando el método anterior para ver todos los métodos de **** públicos del diccionario:

[x for x in dir({}) if not x.startswith(__ )]

[borrar, copiar, dekeys, obtener, has_key, items, iteritems, iterkeys, itervalues,

keys, pop, popitem, setdefault, update, value, viewitems, viewkeys , viewvalues]

dict.clear() elimina todos los elementos del diccionario

dict.copy() devuelve una copia superficial del diccionario

dict.get (clave, predeterminado = Ninguno) Devuelve el valor de la clave en el dictado del diccionario.

Devuelve el valor predeterminado si la clave no existe en el diccionario (tenga en cuenta que el valor predeterminado es Ninguno)

dict.has_key(key) Devuelve Verdadero si la clave existe en el diccionario, Falso en caso contrario. Este método ha quedado prácticamente obsoleto desde la introducción de in y not in en Python 2.2, pero todavía se utiliza. Este método es casi obsoleto ya que in y not in se introdujeron en Python 2.2, pero aún proporciona una interfaz utilizable.

dict.items() devuelve una lista de tuplas de pares (clave, valor) en el diccionario

dict.keys() devuelve una lista de claves en el diccionario

dict.values() devuelve una lista de todos los valores en el diccionario

Los métodos dict.iter() iteritems(), iterkeys() e itervalues() son idénticos a los correspondientes no -métodos iterativos excepto que devuelven un contenedor de iteraciones en lugar de una lista.

dict.pop(key[, default]) es similar al método get(). Si key key existe en el diccionario, elimina y devuelve dict[key] si key key no existe y es predeterminado. no se le da un valor, se genera una excepción KeyError.

dict.setdefault(key, default=None) es similar al método set(). Si la clave del valor clave no existe en el diccionario, se le asigna un valor mediante dict[key]=default. .

dict.setdefault(key, default=None) es similar al método set(). Si la clave clave no existe en el diccionario, se le asigna un valor a través de dict[key]=default.

Tipos booleanos

Los tipos booleanos (es decir, Verdadero y Falso) son básicamente los mismos que los tipos booleanos en otros lenguajes. La siguiente es una lista típica de valores booleanos

print bool(0) #False

print bool(1) #True

print bool(-1) #Verdadero

print bool([]) #False

print bool(()) #False

print bool({}) #False

print bool() #False

print bool(Ninguno) #False