Python

Aprendiendo Python

print ('¡Hola, mundo!') # Función para imprimir por pantalla.
quit () # Salir del intérprete de comandos.
x = 6 # Asignación de valor a una variable.
print (x)
y = x * 7
print (y)

Los programas en Python se llaman scripts y su archivo tendrá la extensión .py
Ejecución en línea de comandos:
>>> python hola.py # Invocamos al programa y archivo a ejecutar con él.

Palabras reservadas


Variables y tipos:

>>> type () # Te da el tipo de dato de lo que introduzcas entre paréntesis

>>> type ('¡Hola, mundo!')
<class 'str'> # Tipo string = cadena de texto.

>>> type (17)
<class 'int'> # Tipo entero.

>>> type (3.2)
<class 'float'> # Tipo nº en coma flotante.

>>> type ('17')
<class 'str'> # Al haber puesto el nº entre comillas su tipo es string.

>>> type ('3.2')
<class 'str'> # Al haber puesto el nº entre comillas su tipo es string.

>>> print (1,000,000)
1 0 0 # Ojo, se interpreta como 3 enteros distintos, no como 1.000,000. Puede ser un error semántico

Los nombres de las variables pueden contener letras y números, pero no pueden comenzar por un número. Se pueden usar mayúsculas y minúsculas, pero mejor empezar por minúscula. Se puede usar el _ (incluso al principio) pero se evita salvo código para librerías que luego usarán otros..

Operadores y operandos:

+ (suma o concatenación entre cadenas de texto), - (resta),  * (multiplica o repite cadenas de texto), / (divide y da resultado en coma flotante), ** (eleva a potencia), # (divide dos enteros y trunca el resultado a un entero).

Orden de prelación de operadores (regla PEMDSR):
Paréntesis, Exponenciación, Multiplicación y división (misma preferencia), Suma y Resta (misma preferencia).

% operador módulo --> devuelve el resto de la división entre dos enteros.
También se puede extraer el dígito más a la derecha de los que componen un número.
Por ejemplo, x % 10 obtiene el dígito que está más a la derecha de x (en base 10).
De forma similar, x % 100 obtiene los dos últimos dígitos.

Entrada/Salida:

input () #Se espera la entrada por teclado que devuelve una cadena.
Se le puede pasar un cadena a input que será mostrada al usuario antes de la espera de entrada por teclado.
Ej: input('¿Cómo te llamas?\n') # La secuencia \n representa un salto de linea (newline).

Convertir:

Podemos convertir la entrada en entero con la función int()
Ej: edad = int(input('¿Cuál es tu edad?\n')) # Ojo, si a continuación no se introduce un nº dará error.

Comentarios:

Expresiones booleanas:

==, !=, >, <, >=, <=, is, is not.

Operadores lógicos:

and, or, not.

Nota: cualquier nº distinto de cero se interpreta como "verdadero".


Funciones:
  • Funciones internas:
    • max () # Devuelve el mayor de los valores de una lista.
    • min () # Devuelve el menor de los valores de una lista.
    • len () # Cuenta el nº de elementos de una lista o de una cadena.
    • sum () # Suma los elementos de una lista.
    • int () # Convierte a entero. No redondea, solo corta la parte decimal si le pasas un float.
    • float ()
    • str ()
  • Funciones matemáticas. Hay que importar antes el módulo math.
    • >>> import math
    • math.sin () # Argumento en radianes.
    • math.cos () # Argumento en radianes.
    • math.tan () # Argumento en radianes.
    • math.pi # Es una aproximación de unos 15 dígitos de pi.
    • math.sqrt ()
    • math.pow () # Toma 2 argumentos: base y exponente.
  • Módulo random.
    • >>> import random
    • random.random () # devuelve un float entre 0.0 y 1.0 (1.0 no incluido).
    • random.randint (5, 10) # Devuelve un entero aleatorio entre los que se le pasan (inclusive).
    • random.choice () # Elige aleatoriamente un elemento de una secuencia dada.
      • >>> t = [1, 2, 3]
      • >>> random.choice(t)
      • 2
Captura de errores con try: y except: se ejecutarán todas las sentencias a continuación de try a menos que ocurra una excepción en cuyo caso se ejecutará lo que pongamos tras except.

Cadenas:
  • Se accede a los caracteres de uno en uno con el operador corchete [].
  • Recuerda que el índice comienza en la posición 0.
  • Ver rebanado de una cadena.
  • El operador booleano in toma dos cadenas y retorna True si la primera está contenida en la segunda; caso contrario retorna False.
  • Todas las letras mayúsculas van antes que todas las letras minúsculas.
  • Se pueden usar operadores ==, <, >, para ordenar alfabéticamente cadenas.
  • Métodos de cadenas (https://docs.python.org/es/3.14/contents.html): ejemplo
    • >>> frase = 'una frase'
    • >>> type (frase)
    • <class 'str'>
    • >>> dir (frase) # Muestra los métodos de la clase str que puedes usar.
    • [...]
    • >>> help(str.capitalize) # Breve documentación de un método.
    • word.upper() # Se usa la sintaxis de método, no de función. El método upper toma una cadena y devuelve otra con todas las letras en mayúsculas.
    • lower()
    • palabra.find('a') # Busca la posición de una cadena dentro de otra. Puede tomar como un segundo argumento el índice desde donde comenzar a buscar. Ej: palabra.find('na', 3)
    • linea.strip() # Elimina los espacios, tabs o nuevas lineas en el inicio y final de una cadena.
    • linea.rstrip() #Elimina los espacios en blanco del lado derecho de una cadena. 
    • linea.startswith() # Devuelve True o False según si la cadena comienza o no con la cadena que pasemos como parámetro.
    • Se pueden encadenar métodos: >>> linea.lower().startswith('a')
    • count()
    • Operador de formato %. %d decimal, %g coma flotante, %s string. Una secuencia de formato puede aparecer en cualquier lugar de la cadena. Si hay más de una secuencia de formato, el segundo parámetro tiene que ser una tupla.
      • >>> 'En %d años yo he visto %g %s.' % (3, 0.1, 'camellos') 'En 3 años yo he visto 0.1 camellos.' 


Archivos:
Si abres un archivo existente obtienes un manejador de archivo; caso contrario, error si el archivo o no existe o no tienes permisos para abrirlo.

>>>manejador_archivo = open('archivo.txt')
>>>print(manejador_archivo)
<_io.TextIOWrapper name='archivo.txt' mode='r' encoding='cp1252'>

Un archivo de texto puede ser considerado como una secuencia de líneas (como caracteres en una cadena) separadas por un carácter especial llamado "salto de línea" \n que representa el final de una línea. Aunque parezcan dos caracteres, realmente es uno solo.
Ojo: el manejador de archivo no contiene los datos de un archivo.

Ojo: al usar el método read(), mejor usar una variable para almacenar el resultado, porque read() vacía el contenido por completo.

No hay comentarios:

Publicar un comentario