Asignación de variables Salida y formato de texto Comentarios
x = 10 # enteros >>> a = 10 # comentario de una línea al comienzo
y = 0.5 # decimales >>> b = 20 z = 'hola' # texto >>> print(10) a = 5 # comentario de una línea al final 10 tupla = (1, 2, 3) >>> print('a: ' + str(a)) ''' lista = [4, 5.5, 'a6'] a: 10 Comentario conjunto = {'a', 'b', 'c'} de varias líneas con comillas simples >>> print('a: %i' % a) diccionario = {10: 1.1, 20: 1.0, 30: 1.3} ''' a: 10 diccionario[40] = 1.5 """ >>> print('a: %i, b: %i' % (a, b)) Otro comentario x, y, z = 1, 2, 3 # asignación múltiple a: 10, b: 20 de varias líneas con comillas dobles x, y = y, z # intercambio de valores >>> print('a: {}, b: {}'.format(a, b)) """ a: 10, b: 10 x, y, z = (1, 2, 3) # desempaquetado >>> print(f'a: {a}, b: {b}') Funciones a: 10, b: 10 Acceso a valor de variables def suma(a, b): return a + b valor = lista[3] # acceso a posición 3 Listas valor = tupla[4] # acceso a posición 4 r = suma(10, 15) # r == 25 valor = texto[5] # acceso a carácter 5 lista = [5, 6, 7]
valor = diccionario['clave'] lista.insert(1, 8) # [5, 8, 6, 7] return suma(a, b), b - c # valor 'def' si 'clave' no existe valor = diccionario.get('clave', 'def') lista.remove(6) # [5, 7] del lista[0] # [6, 7] r, s = opera (10, 15, 3) # r == 25 lista.clear() # [] # s == 12 valor = Clase.atrib # variable de clase valor = instancia.atrib lista.extend([8, 9]) # [5, 6, 7, 8, 9] lista.reverse() # [7, 6, 5] len(lista) # 3 Bucles Aritmética básica lista.index(7) # 2 while condición: 3 + 5 # sumas código # se ejecuta mientras 5 - 3 # restas Condicionales # la condición sea cierta 5 * 3 # multiplicaciones if condición: # condicional simple for valor en secuencia: # para cada valor 3 ** 2 # potencias 3 ** 2 == 3² == 9 instrucción código con valor # en la secuencia 5 / 3 # división 5 / 3 == 1.6666667 5 // 3 # división entera 5 // 3 == 1 5 % 3 # módulo (resto o residuo) de if condición: # condicional if else continue # sigue con la siguiente vuelta # la división entera 5 % 3 == 2 instrucción 1 break # detiene el bucle else: instrucción 2 Importación de módulos Notación de porciones if condición 1: # ifs excluyentes import módulo instrucción 1 Para listas, tuplas, cadenas de texto import módulo as m y otras secuencias elif condición 2: instrucción 2 from módulo import elemento # porción desde ini hasta fin else: from módulo import elemento as e # tomando elementos de paso en paso instrucción 3 sec[ini:fin:paso]
Gestión de excepciones No existe la sentencia switch
Más información de condicionales sec = [10, 20, 30, 40, 50, 60] try: # para capturar excepciones código 1 # código a ejecutar sec[2:5] == [30, 40, 50] except: Booleanos y comparaciones sec[4:] == [50, 60] código 2 # se ejecuta si se produce sec[:2] == [10, 20] True # valor cierto # error en código 1 False # valor false sec[1:6:2] == [20, 40, 60] finally: # opcional sec[4:1:-1] == [50, 40, 30] código 3 # se ejecuta siempre aunque a > b # 3 > 2 es True sec[:] == [10, 20, 30, 40, 50, 60] # haya error en código 1 a >= b # 3 >= 3 es True sec[::-1] == [60, 50, 40, 30, 20, 10] a < b # 3 < 2 es False a <= b # 3 <= 3 es True raise ValueError() # generar un error Entrada por teclado a == b # 3 == 3 es True a != b # diferente 3 != 3 es False >>> cadena = input('Dame un valor: ') # errores comunes a in lista # 3 in [2, 3, 4] es True Dame un valor: hola SyntaxError # sintaxis incorrecta >>> print(cadena) ValueError # valor argumento no válido Más información hola ZeroDivisionError # división por cero NameError # variable no definida ModuleNotFoundError # modulo no existe Comprensión de listas FileNotFoundError # fichero no existe IndexError # índice no existe >>> [ v * 2 for v in [1, 2, 3] ] KeyError # clave no existe [2, 4, 6]