1. Explicación

En Python, las variables no necesitan declararse. Cada variable debe ser asignada antes de su uso; la variable se crea solo después de ser asignada.

En Python, una variable es una variable y no tiene tipo. El "tipo" al que nos referimos es el tipo del objeto en memoria al que apunta la variable.

El signo igual (=) se utiliza para asignar valores a las variables.

A la izquierda del operador signo igual (=) se encuentra el nombre de la variable, y a la derecha del operador signo igual (=) se encuentra el valor almacenado en la variable.

Por ejemplo:

#!/usr/bin/python3
 
counter = 100          # 整型变量
miles   = 1000.0       # 浮点型变量
name    = "ejemplo"     # 字符串
a = b = c = 1          # 同时为多个变量赋值
a,b,c=1,2,'hello'      # 为多个对象指定多个变量

2. Tipos de datos estándar

En Python3 hay seis tipos de datos estándar:

Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Sets(集合)
Dictionary(字典)

2.1 Number (Número)

Python3 admite int, float, bool y complex (números complejos).

Solo existe un tipo entero, int, que se representa como entero largo; no existe Long como en Python2.

La función incorporada type() se puede utilizar para consultar el tipo de objeto al que apunta la variable.

>>> a,b,c,d=5,6.7,true,2+3j
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> a,b,c,d=5,6.7,True,2+3j
>>> print(type(a),type(b),type(c),type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

Nota:

  • 1. Python puede asignar valores a múltiples variables al mismo tiempo, como a, b = 1, 2.
  • 2. Una variable puede apuntar a objetos de diferentes tipos mediante la asignación.
  • 3. La división de números (/) siempre devuelve un número de punto flotante (print(2/4) muestra 0.5); para obtener un entero se usa el operador //.
  • 4. En cálculos mixtos, Python convierte los enteros en números de punto flotante. 5. Booleanos: True y False, 1 y 0.
  • 6. La sentencia del puede eliminar objetos definidos, por ejemplo: del a, b

2.2 String (Cadena)

En Python, las cadenas se encierran entre comillas simples (') o comillas dobles ("), y se utiliza la barra invertida para escapar caracteres especiales.

La sintaxis para el corte (slicing) de cadenas es la siguiente:

variable[índice inicial:índice final]

El valor del índice comienza en 0, y -1 es la posición inicial desde el final.

El signo más (+) es el operador de concatenación de cadenas, y el asterisco (*) indica que se copia la cadena actual; el número que le sigue es la cantidad de veces que se copia.

Ejemplo:

#!/usr/bin/python3
# -*- coding:UTF-8 -*-

str='hello,world!'

print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第五个的字符
print(str[2:])             # 输出从第三个开始的后的所有字符
print(str * 2)             # 输出字符串两次
print(str + '你好')        # 连接字符串

print('------------------------------')

print('hello\nworld')      # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nworld')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

Resultado de la ejecución:

hello,world!                  
hello,world                  
h                  
llo
llo,world!
hello,world!hello,world!
hello,world!你好

------------------------------

hello
world
hello\nworld

Nota:

  • 1. La barra invertida se puede utilizar para escapar caracteres; el uso de r evita que la barra invertida realice escapes.
  • 2. Las cadenas se pueden concatenar con el operador + y repetir con el operador *.
  • 3. En Python, las cadenas tienen dos formas de indexación: de izquierda a derecha comienza en 0, y de derecha a izquierda comienza en -1.
  • 4. Las cadenas en Python no se pueden modificar.
  • 5. Python no tiene un tipo de carácter separado; un carácter es una cadena de longitud 1.

2.3 List (Lista)

List (Lista) es el tipo de dato más utilizado en Python.

Las listas pueden implementar la mayoría de las estructuras de datos de tipo colección.

Los elementos de una lista pueden ser de diferentes tipos; admite números, cadenas e incluso puede contener listas (lo que se llama anidamiento).

Una lista se escribe entre corchetes [] y consta de elementos separados por comas.

Al igual que las cadenas, las listas también se pueden indexar y cortar; después de cortar una lista, se devuelve una nueva lista con los elementos deseados.

La sintaxis para el corte de listas es la siguiente:

variable[índice inicial:índice final]

El valor del índice comienza en 0, y -1 es la posición inicial desde el final.

El signo más (+) es el operador de concatenación de listas, y el asterisco (*) es la operación de repetición.

Ejemplo:

#!/usr/bin/python3
# -*- coding:UTF-8 -*-

list=['hello',357,6.6,'world']
ttlist=[123,'new']

print(list)                # 输出完整列表
print(list[0])             # 输出列表第一个元素
print(list[1:3])           # 输出从第2个开始到第3个元素
print(list[2:])            # 输出从第三个开始的后的所有元素
print(ttlist * 2)          # 输出两次列表
print(str + ttlist)        # 连接列表

Resultado de la ejecución:

['hello', 357, 6.6, 'world']
hello
[357, 6.6]
[6.6, 'world']
[123, 'new', 123, 'new']
['hello', 357, 6.6, 'world', 123, 'new']

A diferencia de las cadenas de Python, los elementos de una lista se pueden modificar:

>>> new=[1,2,3,4,5,'hi']       
>>> new
[1, 2, 3, 4, 5, 'hi']
>>> new[1]='hehe'           #改变列表new中的第2个元素为hehe
>>> new
[1, 'hehe', 3, 4, 5, 'hi']
>>> new[2:4]=[8,10]         #改变列表new中的第3/4个元素为8,9
>>> new
[1, 'hehe', 8, 10, 5, 'hi'
>>> new[2:4]=[]            #删除列表new中的第3、4个元素
>>> new
[1, 'hehe', 5, 'hi']
>>> new[2:3]=[]

Nota:

  • 1. La lista se escribe entre corchetes y los elementos se separan con comas.
  • 2. Al igual que las cadenas, las listas se pueden indexar y cortar (slicing).
  • 3. Las listas se pueden concatenar con el operador +.
  • 4. Los elementos de una lista se pueden modificar.

2.4 Tuple (Tupla)

La tupla (tuple) es similar a la lista, con la diferencia de que los elementos de una tupla no se pueden modificar.

Las tuplas se escriben entre paréntesis () y los elementos se separan entre sí con comas.

Los elementos de una tupla también pueden ser de diferentes tipos.

Las tuplas son similares a las cadenas: se pueden indexar, el índice comienza en 0, -1 es la posición desde el final, y también se pueden cortar.

De hecho, se puede considerar una cadena como un tipo especial de tupla.

Construir una tupla que contenga 0 o 1 elementos es especial, por lo que existen algunas reglas sintácticas adicionales:

tup1 = ()     # 空元组
tup2 = (20,)  # 一个元素,需要在元素后添加逗号

string, list y tuple pertenecen a las secuencias (sequence).

Nota:

  • 1. Al igual que las cadenas, los elementos de una tupla no se pueden modificar.
  • 2. Las tuplas también se pueden indexar y cortar, de la misma manera.
  • 3. Presta atención a las reglas sintácticas especiales para construir tuplas con 0 o 1 elemento.
  • 4. Las tuplas también se pueden concatenar con el operador +.

2.5 Sets (Conjuntos)

Un conjunto (set) es una secuencia de elementos únicos y sin orden.

Su función básica es realizar pruebas de pertenencia y eliminar elementos duplicados.

Se pueden crear conjuntos con llaves { } o con la función set(). Nota: para crear un conjunto vacío se debe usar set() en lugar de { }, porque { } se utiliza para crear un diccionario vacío.

Ejemplo:

#!/usr/bin/python3

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)  # 输出集合,重复的元素被自动去掉

# 成员测试
if ('Rose' in student):
    print('Rose 在集合中')
else:
    print('Rose 不在集合中')

# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)
print(b)
print(a - b)  # a和b的差集
print(b - a)  # b和a的差集
print(a | b)  # a和b的并集
print(a & b)  # a和b的交集
print(a ^ b)  # a和b中不同时存在的元素

Salida:

{'Jim', 'Mary', 'Rose', 'Tom', 'Jack'}
Rose 在集合中
{'d', 'c', 'r', 'a', 'b'}
{'l', 'c', 'm', 'a', 'z'}
{'d', 'b', 'r'}
{'l', 'm', 'z'}
{'l', 'd', 'c', 'r', 'm', 'a', 'b', 'z'}
{'c', 'a'}
{'l', 'd', 'r', 'm', 'b', 'z'}

2.6 Dictionary (Diccionario)

El diccionario (dictionary) es otro tipo de dato incorporado muy útil en Python.

Las listas son colecciones ordenadas de objetos, mientras que los diccionarios son colecciones desordenadas de objetos.

La diferencia entre ambos es que los elementos de un diccionario se acceden a través de claves, no por desplazamiento (offset).

El diccionario es un tipo de mapeo; se identifica con llaves { } y es una colección desordenada de pares clave (key): valor (value).

Las claves (key) deben ser de un tipo inmutable.

En un mismo diccionario, las claves (key) deben ser únicas.

Ejemplo:

#!/usr/bin/python3

dict = {}
dict['one'] = "1 - hello,world"
dict[2] = "2 - 嘿嘿"

tinydict = {'name': 'lucy', 'code': 100, 'class': '5年级6班'}

print(dict['one'])  # 输出键为 'one' 的值
print(dict[2])  # 输出键为 2 的值
print(tinydict)  # 输出完整的字典
print(tinydict.keys())  # 输出所有键
print(tinydict.values())  # 输出所有值

Salida:

1 - hello,world
2 - 嘿嘿
{'name': 'lucy', 'code': 100, 'class': '5年级6班'}
dict_keys(['name', 'code', 'class'])
dict_values(['lucy', 100, '5年级6班'])

Funciones incorporadas:

get: según el valor de la clave (key) obtiene el value correspondiente; si no se encuentra el valor, devuelve None y no genera error.

>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.get('k1')
>>> print(v)
v1

clear: vacía el diccionario.

>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.clear()
>>> print(dic)
{}
>>> print(v)
None

copy: copia (copia superficial).

>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.copy()
>>> print(v)
{'k1':'v1','k2':'v2'}

pop: elimina y obtiene el valor (value) correspondiente.

>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.pop('k1')
>>> print(dic)
{'k2':'v2'}
>>> print(v)
v1

popitem: elimina aleatoriamente un par clave-valor y obtiene la clave y el valor eliminados.

>>> dic = {'k1':'v1','k2':'v2'}
>>> v = dic.popitem()
>>> print(dic)
{'k1':'v1'}
>>> print(v)
{'k2':'v2'}

setdefault: agrega; si la clave (key) ya existe, no realiza ninguna operación.

>>> dic = {'k1':'v1','k2':'v2'}
>>> dic.setdefault('k3','v3')
>>> print(dic)
{'k1':'v1','k2':'v2','k3':'v3'}

update: agrega o modifica en lote.

dic = {'k1':'v1','k2':'v2'}
dic.update({'k3':'v3','k4':'v4'})
print(dic)
{'k1':'v1','k2':'v2','k3':'v3','k4':'v4'}

Nota:

  • 1. El diccionario es un tipo de mapeo; sus elementos son pares clave-valor.
  • 2. Las claves del diccionario deben ser de un tipo inmutable y no pueden repetirse.
  • 3. Para crear un diccionario vacío se usa { }.

3. Conversión de tipos de datos

Para la conversión de tipos de datos, solo necesitas usar el tipo de dato como nombre de la función.

Las siguientes funciones incorporadas pueden realizar conversiones entre tipos de datos. Estas funciones devuelven un nuevo objeto que representa el valor convertido.

Función Descripción
int(x [,base]) Convierte x a un entero.
float(x) Convierte x a un número de punto flotante.
complex(real [,imag]) Crea un número complejo.
str(x) Convierte el objeto x a una cadena.
repr(x) Convierte el objeto x a una cadena de expresión.
eval(str) Se utiliza para evaluar una expresión válida de Python contenida en una cadena y devuelve un objeto.
tuple(s) Convierte la secuencia s a una tupla.
list(s) Convierte la secuencia s a una lista.
set(s) Convierte a un conjunto mutable.
dict(d) Crea un diccionario. d debe ser una secuencia de tuplas (key, value).
frozenset(s) Convierte a un conjunto inmutable.
chr(x) Convierte un entero a un carácter.
unichr(x) Convierte un entero a un carácter Unicode.
ord(x) Convierte un carácter a su valor entero.
hex(x) Convierte un entero a una cadena hexadecimal.
oct(x) Convierte un entero a una cadena octal.

Dirección del artículo original: https://segmentfault.com/a/1190000009722187