Varios tipos de datos en Python
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 -*- p>
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 p>
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