Cómo crear tu propio lenguaje de programación en Python. §1 Lenguaje de programación Python

¿Quieres ingresar al mundo de la programación y escribir rápidamente tus primeros programas? ¿O sueñas con aprender nuevos idiomas pero no sabes por dónde empezar? Preste atención a los cursos sobre los conceptos básicos de programación en Python. A continuación, aprenderá más sobre por qué se recomienda este lenguaje para principiantes y qué programas se pueden crear en él.

Conceptos básicos de Python para programadores principiantes

Python es un potente lenguaje de programación orientado a objetos de alto nivel creado por Guido van Rossum. Tiene una sintaxis fácil de usar, lo que lo convierte en un lenguaje ideal para quienes intentan aprender a programar por primera vez. Para seguir familiarizándose con el lenguaje, puede leer el libro de Dmitry Zlatopolsky "Python - Conceptos básicos de programación". Pero comenzaremos con lo más básico. Hay mucha literatura en esta área. Otra opción son los libros de Harry Percival “Python. Desarrollo basado en pruebas”. Habla del lenguaje desde un punto de vista práctico.

Usar el idioma en la práctica.

Entonces, ¿qué está escrito en Python o “Python”, como también lo llaman entre los programadores, y por qué aprenderlo? Python es un lenguaje de propósito general. Se utiliza para escribir aplicaciones web utilizando varios marcos, utilidades del sistema y aplicaciones para automatizar diversas acciones. Ahora hay suficientes cursos sobre los conceptos básicos de programación en Python para intentar aprender el lenguaje por tu cuenta.

Podría convertirse en la base de una nueva profesión, ya que tiene una amplia gama de aplicaciones, desde desarrollo web, informática científica y matemática hasta interfaces gráficas de usuario de escritorio. También es bueno para la creación de prototipos. Es decir, primero se crea un prototipo en Python y luego el concepto se puede transferir a lenguajes de programación compilados y más rápidos. Con este lenguaje, puede crear aplicaciones de escritorio con una interfaz gráfica y escribir juegos, para los cuales existe una biblioteca especial. Los conceptos básicos de algoritmización y programación en Python son adecuados para crear aplicaciones para dispositivos móviles.

¿Por qué aprender Python?

Python también utiliza una sintaxis muy simple y concisa y una escritura dinámica. El conocimiento de los conceptos básicos de algoritmización y programación en Python le permite crear rápidamente un programa y ejecutarlo. Si necesita un lenguaje para crear rápidamente aplicaciones y scripts en múltiples dominios, será difícil encontrar una alternativa mejor que Python. Tiene una serie de ventajas obvias sobre otros lenguajes de programación:

  • uso universal: se pueden escribir diferentes tipos de aplicaciones en este idioma, por lo que, junto con su dominio, se abren amplias oportunidades para utilizar este idioma;
  • simplicidad: el lenguaje se desarrolló originalmente para simplificar el trabajo humano con él;
  • popularidad entre los programadores y demanda en el mercado laboral: Python se usa ampliamente en varios proyectos;
  • una gran cantidad de bibliotecas disponibles amplían las capacidades del idioma y lo hacen aún más universal;
  • multiplataforma: un programa escrito una vez funcionará en cualquier plataforma que tenga un intérprete de idiomas;
  • Una de las ventajas importantes del idioma es su documentación de alta calidad.

Python es también uno de los lenguajes de desarrollo web más antiguos, creado por Guido van Rossum en el Instituto Nacional de Investigación de Matemáticas e Informática de los Países Bajos a principios de los años 90. El lenguaje se basa en gran medida en C++, C y otros lenguajes de programación. Utiliza palabras clave en inglés que constituyen la mayor parte de la programación en Python. Si los dominas, entonces puedes considerar que en su mayor parte ya dominas el idioma. Esto llevará algún tiempo y deberá comprender los conceptos básicos antes de comenzar. Así que comencemos por conocerlos.

Beneficios de Python

Uno de los beneficios clave de la programación Python es su naturaleza interpretativa. Esto significa que el código del programa no se compila en un archivo ejecutable, sino que el intérprete lo ejecuta cada vez que el usuario lo inicia. Por lo tanto, para ejecutar el programa, debe estar presente en la computadora donde creará los programas. El intérprete y la biblioteca estándar están disponibles en formato binario o fuente en el sitio web de Python y pueden ejecutarse sin problemas en todos los principales sistemas operativos.

Entonces, las principales ventajas de Python incluyen:

  • Interpretativo: el lenguaje es procesado por un intérprete en tiempo de ejecución, como PHP o PERL, por lo que no es necesario compilar el programa antes de ejecutarlo.
  • Interactividad: puede interactuar directamente con el intérprete mientras escribe su programa.
  • Ideal para principiantes: para programadores principiantes.
  • Python es una excelente opción porque admite el desarrollo de aplicaciones, desde juegos hasta navegadores y procesamiento de textos.

    Cómo instalar y ejecutar el intérprete

    Para comenzar a escribir en Python, debes descargar e instalar su intérprete en el sitio web oficial del idioma, seleccionando la versión para tu sistema operativo. Vale la pena señalar que hay dos ramas del idioma: la segunda y la tercera. Es mejor comenzar a aprender los conceptos básicos de Python 3 si aún no ha instalado otra versión. Al realizar la instalación en Windows, asegúrese de prestar atención a si la opción Agregar Python a la ruta y la utilidad Pip están habilitadas. Después de la instalación, puede ejecutarlo. Para hacer esto, debe ingresar: "python" en la línea de comando y se iniciará. Aparecerán tres corchetes angulares en la ventana, indicando que se encuentra en el intérprete. Este lenguaje de programación también está disponible gratuitamente y puede encontrar consejos, herramientas de terceros, programas, módulos y documentación adicional.

    Palabras clave en Python

    En el intérprete puedes realizar acciones en el idioma de forma interactiva. Cada acción se realiza inmediatamente después de presionar Enter. Puedes usarlo como una calculadora avanzada. Pero escribir un programa grande en un intérprete requiere demasiada mano de obra. Por tanto, tiene sentido utilizar editores de texto. El intérprete puede ejecutar el archivo de texto terminado. Uno de los fundamentos de Python es que todos los bloques que contiene se definen mediante sangría, por lo que debes aplicar sangría para ejecutar un bloque y eliminarlo. El intérprete se puede ampliar fácilmente con nuevos tipos de datos o funciones en C++ o C. El lenguaje de programación Python funciona como una extensión para aplicaciones personalizadas. Lo que hace que este lenguaje sea tan fácil de aprender es el hecho de que utiliza palabras clave en inglés en lugar de puntuación y tiene menos construcciones sintácticas que otros lenguajes de programación.

    Empezando con Python

    Antes de comenzar a trabajar fuera del intérprete, para crear un programa, debe abrir un editor de texto y crear un archivo vacío con codificación utf-8 y configurar la extensión en "py". Lo mejor es utilizar para este fin editores de código especiales para programadores. La primera línea debe indicar la codificación. Las líneas que comienzan con # se consideran comentarios y no se ejecutan. Python se escribe implícita y dinámicamente, por lo que no es necesario declarar variables. Los tipos se aplican y las variables también distinguen entre mayúsculas y minúsculas, por lo que var y VAR se tratan como dos variables separadas. Si desea saber cómo funciona cualquier objeto, solo necesita escribir lo siguiente: "ayuda (objeto)". También puede usar el comando "dir(object)" para descubrir todos los métodos de una opción en particular, y puede usar el objeto "__doc__" para descubrir su cadena de documentación.

    Cómo ejecutar un programa escrito

    También debe ejecutar el programa escrito en la línea de comando. Para ello es necesario escribir el nombre del intérprete y, separado por un espacio, el nombre del archivo con el programa escrito. Al iniciar el programa, debe especificar la ruta completa al archivo. Esto no siempre es fácil, ya que la ruta puede ser muy larga, por lo que a veces es más fácil cambiar el directorio actual en la línea de comando e iniciar el intérprete allí. Para hacer esto, debe ir al directorio deseado, mantener presionada la tecla Mayús, hacer clic derecho en el directorio y seleccionar la opción "abrir ventana de comando" en el menú que se abre. Luego se iniciará la línea de comando en este directorio. A continuación, en la ventana de la consola, debe ingresar el nombre del intérprete y, separado por un espacio, el nombre del archivo que se encuentra en él.

    Sintaxis del idioma

    Los conceptos básicos de la programación en Python no son muy diferentes a los de otros lenguajes, pero las variables tienen un significado ligeramente diferente. Python no requiere símbolos para completar declaraciones. Todos los bloques se definen mediante sangría, por lo que debes aplicar sangría para iniciar un bloque y eliminarlo. Para comentarios de varias líneas, debe utilizar cadenas de varias líneas. Los valores se asignan mediante el signo “=", y la prueba de igualdad se realiza con dos de ellos “==”. Puede disminuir o aumentar valores usando los operadores = o -= con una suma en el lado derecho. Esto puede funcionar con cadenas y otros tipos de datos. También puede utilizar varias variables en una línea.

    Tipos de datos en Python

    Ahora veamos los tipos de datos. Python se basa en estructuras de datos: diccionarios (dict), tuplas (tuplas) y listas (listas). Los conjuntos se pueden encontrar en la biblioteca de conjuntos, que están disponibles en todas las versiones de Python. Las listas son similares a las matrices unidimensionales, aunque también puedes tener listas de otras listas. Los diccionarios son esencialmente matrices asociativas o tablas hash. Las tuplas son matrices unidimensionales. Ahora las matrices en Python pueden ser de cualquier tipo y ypes siempre es cero. Los números negativos comienzan desde el final hasta el principio y -1 es el último elemento. Las variables también pueden apuntar a funciones.

    Cadenas en Python

    Las cadenas de Python pueden usar comillas simples o dobles, y puedes usar un tipo de comillas en una cadena usando otro tipo. Las cadenas de varias líneas están entre comillas dobles simples o triples. Para llenar cadenas con valores, puede usar el operador módulo(%) seguido de tupla. Cada % se reemplaza por un elemento de la tupla de izquierda a derecha, y también puedes usar sustituciones de diccionario. Declaraciones de control de flujo de Python: "mientras", "para" y "si". Para bifurcar necesitas usar "if". Para enumerar a través de una lista, utilice "para". Para obtener una lista de números, utilice un rango.

    Funciones en Python

    La palabra clave "def" se utiliza para declarar funciones. Vincular otro objeto a una variable elimina el antiguo y reemplaza los tipos inmutables. Los argumentos opcionales se pueden especificar en una declaración de función después de los argumentos requeridos, dándoles valores predeterminados. En el caso de argumentos con nombre, al nombre del argumento se le asigna un valor. Las funciones pueden devolver una tupla y usted puede devolver múltiples valores de manera eficiente mediante el desempaquetado de tuplas. Los parámetros se pasan por referencia, pero las tuplas, ints, cadenas y otros tipos inmutables son inmutables porque solo se pasa la ubicación de memoria del elemento.

    Acabas de comenzar a familiarizarte con el lenguaje, así que no temas los errores y recurre a los recursos disponibles para seguir aprendiendo este interesante y útil lenguaje de programación.

    27 de agosto de 2012 a las 15:18

    Aprenda Python de manera eficiente

    • Pitón

    ¡Hola a todos!

    Sintaxis legible por humanos, fácil de aprender, lenguaje de alto nivel, lenguaje de programación orientado a objetos (POO), modo potente e interactivo, muchas bibliotecas. Muchas otras ventajas... Y todo ello en un solo idioma.
    Primero, profundicemos en las posibilidades y descubramos qué puede hacer Python.

    ¿Por qué necesito tu Python?

    Muchos programadores nuevos hacen preguntas similares. Es como comprar un teléfono, dime ¿por qué debería comprar este teléfono y no este?
    Calidad del software
    Para muchos, incluido yo, las principales ventajas son la sintaxis legible por humanos. No muchos idiomas pueden presumir de ello. El código Python es más fácil de leer, lo que significa que reutilizarlo y mantenerlo es mucho más fácil que usar código en otros lenguajes de programación. Python contiene los mecanismos más modernos para reutilizar código de programa, que es la programación orientada a objetos.
    Bibliotecas de soporte
    Python viene con una gran cantidad de funciones compiladas y portátiles conocidas como biblioteca estándar. Esta biblioteca le proporciona muchas funciones demandadas en los programas de aplicación, que van desde la búsqueda de texto por plantilla hasta funciones de red. Python se puede ampliar tanto con bibliotecas propias como con bibliotecas creadas por otros desarrolladores.
    Portabilidad del programa
    La mayoría de los programas Python se ejecutan sin cambios en todas las plataformas principales. Transferir código de programa de Linux a Windows implica simplemente copiar archivos de programa de una máquina a otra. Python también te brinda muchas oportunidades para crear interfaces gráficas portátiles.
    Velocidad de desarrollo
    En comparación con lenguajes compilados o fuertemente tipados como C, C++ o Java, Python aumenta muchas veces la productividad de los desarrolladores. El código Python suele tener un tamaño de un tercio o incluso un quinto del código C++ o Java equivalente, lo que significa menos entrada de teclado, menos tiempo de depuración y menos esfuerzo de mantenimiento. Además, los programas Python se ejecutan inmediatamente, sin los tediosos pasos de compilación y vinculación que se requieren en otros lenguajes de programación, lo que aumenta aún más la productividad del programador.

    ¿Dónde se utiliza Python?

    • Google utiliza Python en su motor de búsqueda y paga al creador de Python, Guido van Rossum.
    • Empresas como Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm e IBM utilizan Python para realizar pruebas de hardware.
    • El servicio para compartir vídeos de YouTube está implementado en gran medida en Python
    • La NSA utiliza Python para cifrado y análisis de inteligencia
    • JPMorgan Chase, UBS, Getco y Citadel utilizan Python para realizar previsiones de mercados financieros
    • El popular programa BitTorrent para intercambiar archivos en redes peer-to-peer está escrito en Python
    • El popular marco web App Engine de Google utiliza Python como lenguaje de programación de aplicaciones
    • La NASA, Los Alamos, JPL y Fermilab utilizan Python para la informática científica.
    y otras empresas también utilizan este lenguaje.

    Literatura

    Entonces llegamos a conocer mejor el lenguaje de programación Python. Podemos decir por separado que las ventajas de Python son que tiene mucha literatura de alta calidad. No todos los idiomas pueden presumir de esto. Por ejemplo, el lenguaje de programación JavaScript no puede complacer a los usuarios con mucha literatura, aunque el lenguaje es realmente bueno.

    Aquí hay fuentes que lo ayudarán a conocer mejor Python y tal vez convertirse en el futuro Guido van Rossum.
    * Algunas fuentes pueden estar en inglés. Esto no debería sorprendernos; hoy en día se escribe mucha literatura excelente en inglés. Y para la programación en sí es necesario tener al menos conocimientos básicos de inglés.

    Recomiendo encarecidamente leer el libro primero: Mark Lutz. Aprendiendo Python, cuarta edición. El libro ha sido traducido al ruso, así que no temas si de repente no sabes inglés. Pero es la cuarta edición.

    Para aquellos que saben inglés, pueden leer la documentación en el sitio web oficial de Python. Allí se describe todo con bastante claridad.

    Y si prefieres la información en vídeo, te recomiendo lecciones de Google, impartidas por Nick Parlante, un estudiante de Stanford. Seis videoconferencias en YouTube. Pero hay una gota de ungüento en el barril de ungüento... Lo dirige en inglés con subtítulos en inglés. Pero espero que esto detenga a algunos.

    ¿Qué debo hacer si leo libros, pero no sé cómo aplicar los conocimientos?

    ¡No entrar en pánico!
    Recomiendo leer el libro de Mark Lutz. Programación Python (4ta edición). Antes era “estudiar”, pero aquí es “Programación”. En "Aprendizaje", adquieres conocimientos de Python, en "Programación", Mark te enseña cómo aplicarlo en tus programas futuros. El libro es muy útil. Y creo que uno es suficiente para ti.

    ¡Quiero practicar!

    Fácilmente.
    Arriba escribí sobre las videoconferencias de Nick Parlante en YouTube, pero también tienen algunas

    Python es un lenguaje de programación potente y popular con el que puedes hacer lo que quieras. Por ejemplo, puede rastrear sitios web y recopilar datos de ellos, crear redes y herramientas, realizar cálculos, programar para Raspberry Pi, desarrollar programas gráficos e incluso videojuegos. En Python puedes \\ escribir programas de sistema independientes de la plataforma.

    En este artículo veremos los conceptos básicos de la programación en Python, intentaremos cubrir todas las características básicas que necesitará para comenzar a usar el lenguaje. Veremos el uso de clases y métodos para resolver varios problemas. Se supone que ya está familiarizado con los conceptos básicos y la sintaxis del idioma.

    ¿Qué es Python?

    No entraré en la historia de la creación y desarrollo del lenguaje, puedes descubrirlo fácilmente en el video que se adjunta a continuación. Es importante tener en cuenta que Python es un lenguaje de programación. Esto significa que su código se verifica en busca de errores y se ejecuta inmediatamente sin ninguna compilación o reelaboración adicional. Este enfoque también se llama interpretable.

    Esto reduce la productividad, pero es muy conveniente. Hay un intérprete en el que puede ingresar comandos y ver inmediatamente sus resultados. Este trabajo interactivo ayuda enormemente en el aprendizaje.

    Trabajando en el intérprete

    Ejecutar el intérprete de Python es muy sencillo en cualquier sistema operativo. Por ejemplo, en Linux, simplemente escriba el comando de Python en la terminal:

    En el mensaje del intérprete que se abre, vemos la versión de Python que está actualmente en uso. Hoy en día, dos versiones de Python 2 y Python 3 son muy populares. Ambas son populares porque muchos programas y bibliotecas se desarrollaron en la primera y la segunda tiene más funciones. Por tanto, las distribuciones incluyen ambas versiones. De forma predeterminada, se inicia la segunda versión. Pero si necesita la versión 3, debe hacer:

    Es la tercera versión que se considerará en este artículo. Ahora veamos las características principales de este lenguaje.

    Operaciones de cadena

    Las cadenas en Python son inmutables; no se puede cambiar uno de los caracteres de una cadena. Cualquier cambio en el contenido requiere la creación de una nueva copia. Abra el intérprete y siga los ejemplos que se enumeran a continuación para comprender mejor todo lo escrito:

    1. Concatenar cadenas

    str = "bienvenido " + "a Python"
    imprimir (cadena)

    2. Multiplicación de cadenas

    cadena = "Perdido" * 2
    imprimir (cadena)

    3. Fusionarse con la transformación

    Puedes concatenar una cadena con un número o un valor booleano. Pero para esto necesitas usar una transformación. Hay una función str() para esto:

    str = "Este es un número de prueba " + str(15)
    imprimir (cadena)

    4. Busque una subcadena

    Puede buscar un carácter o una subcadena utilizando el método de búsqueda:

    str = "Bienvenido al sitio"
    imprimir(str.find("sitio"))

    Este método muestra la posición de la primera aparición de la subcadena sitio si se encuentra; si no se encuentra nada, se devuelve el valor -1. La función inicia la búsqueda en el primer carácter, pero puedes comenzar en el enésimo carácter, por ejemplo 26:

    str = "Bienvenido al sitio"
    print(str.find("perdido",26))

    En esta variante, la función devolverá -1 porque no se encontró la cadena.

    5. Obtener una subcadena

    Obtuvimos la posición de la subcadena que estábamos buscando y ahora, ¿cómo obtener la subcadena en sí y lo que viene después? Para hacer esto, use esta sintaxis [inicio:fin],solo especifica dos números o solo el primero:

    str = "Uno dos tres"
    imprimir(cadena[:2])
    imprimir (cadena)
    imprimir (cadena)
    imprimir(cadena[-1])

    La primera línea imprimirá una subcadena desde el primer hasta el segundo carácter, la segunda, desde el segundo hasta el final. Tenga en cuenta que la cuenta atrás comienza desde cero. Para contar hacia atrás, use un número negativo.

    6. Reemplazo de subcadena

    Puedes reemplazar parte de una cadena usando el método de reemplazo:

    str = "Este sitio trata sobre Linux"
    str2 = str.replace("Linux", "Windows")
    imprimir (cadena2)

    Si hay muchas apariciones, entonces puedes reemplazar solo la primera:

    str = "Este es un sitio sobre Linux y estoy suscrito a este sitio"
    str2 = str.replace("sitio", "página",1)
    imprimir (cadena2)

    7. Limpiar hilos

    Puede eliminar espacios adicionales usando la función de franja:

    str = "Este es un sitio web sobre Linux"
    imprimir(cadena.tira())

    También puede eliminar espacios adicionales solo en el lado derecho con rstrip o solo en el lado izquierdo con lstrip.

    8. Cambiar el registro

    Hay funciones especiales para cambiar el caso de los caracteres:

    str="Bienvenido a Lost"
    imprimir (cadena.superior())
    imprimir (cadena.inferior())

    9. Conversión de cadenas

    Hay varias funciones para convertir una cadena a varios tipos numéricos, estas son int(), float(), long() y otras. La función int() convierte a un número entero y float() a un número de punto flotante:

    cadena="10"
    str2="20"
    imprimir(cadena+cadena2)
    imprimir(int(cadena)+int(cadena2))

    10. Longitud de las líneas

    Puede utilizar las funciones min(), max(), len() para calcular el número de caracteres en una cadena:

    str="Bienvenido al sitio web de Lost"
    imprimir(min(cadena))
    imprimir(max(cadena))
    imprimir(len(cadena))

    El primero muestra el tamaño mínimo de carácter, el segundo el máximo y el tercero la longitud total de la línea.

    11. Iterar sobre una cadena

    Puedes acceder a cada carácter de una cadena individualmente usando un bucle for:

    str="Bienvenido al sitio"
    para i en el rango (len (str)):
    imprimir(cadena[i])

    Para limitar el bucle, utilizamos la función len(). Presta atención a la sangría. La programación en Python se basa en esto, no hay paréntesis para organizar los bloques, solo sangría.

    Operaciones con números

    Los números en Python son bastante fáciles de declarar o usar en métodos. Puedes crear números enteros o de coma flotante:

    número1 = 15
    número2 = 3,14

    1. Redondear números

    Puedes redondear un número usando la función de redondeo, solo especifica cuántos caracteres quieres dejar:

    a=15.5652645
    imprimir (redondo (a, 2))

    2. Generación de números aleatorios

    Puedes obtener números aleatorios usando el módulo aleatorio:

    importar aleatoriamente
    imprimir(aleatorio.aleatorio())

    De forma predeterminada, el número se genera en el rango de 0,0 a 1,0. Pero puedes establecer tu propio rango:

    importar aleatoriamente
    numeros=
    imprimir (elección aleatoria (números))

    Operaciones con fecha y hora

    El lenguaje de programación Python tiene un módulo DateTime que permite realizar diversas operaciones con fecha y hora:

    importar fecha y hora
    cur_date = fechahora.fechahora.ahora()
    imprimir(fecha_actual)
    imprimir(fecha_actual.año)
    imprimir(fecha_actual.día)
    imprimir(cur_date.weekday())
    imprimir(fecha_actual.mes)
    imprimir(fecha_cur.hora())

    El ejemplo muestra cómo extraer el valor deseado de un objeto. Puedes obtener la diferencia entre dos objetos:

    importar fecha y hora
    hora1 = fechahora.fechahora.ahora()
    hora2 = fechahora.fechahora.ahora()
    diferencia de tiempo = tiempo2 - tiempo1
    imprimir(timediff.microsegundos)

    Puedes crear objetos de fecha tú mismo con un valor arbitrario:

    hora1 = fechahora.fechahora.ahora()
    hora2 = fechahora.horadelta(días=3)
    tiempo3=tiempo1+tiempo2
    imprimir(hora3.fecha())

    1. Formatear fecha y hora

    El método strftime le permite cambiar el formato de fecha y hora según el estándar seleccionado o el formato especificado. Estos son los caracteres de formato básicos:

    • %a- día de la semana, nombre abreviado;
    • %A- día de la semana, nombre completo;
    • %w- número del día de la semana, de 0 a 6;
    • %d- día del mes;
    • %b- nombre abreviado del mes;
    • %B- nombre completo del mes;
    • %metro- número de mes;
    • %Y- número de año;
    • %H- hora del día en formato de 24 horas;
    • %l- hora del día en formato de 12 horas;
    • %pag- AM o PM;
    • %METRO- minuto;
    • %S- segundo.

    importar fecha y hora
    fecha1 = fechahora.fechahora.ahora()
    print(fecha1.strftime("%d. %B %Y %I:%M%p"))

    2. Crea una fecha a partir de una cadena.

    Puede utilizar la función strptime() para crear un objeto de fecha a partir de una cadena:

    importar fecha y hora
    fecha1=fechahora.datetime.strptime("2016-11-21", "%Y-%m-%d")
    fecha2=fechahora.fechahora(año=2015, mes=11, día=21)
    imprimir(fecha1);
    imprimir(fecha2);

    Operaciones del sistema de archivos

    La gestión de archivos es muy sencilla en el lenguaje de programación Python, es el mejor lenguaje para trabajar con archivos. Y en general, podemos decir que Python es el lenguaje más sencillo.

    1. Copiar archivos

    Para copiar archivos necesitas usar las funciones del módulo subutil:

    importar Shuil
    nueva_ruta =shutil.copia("archivo1.txt", "archivo2.txt")

    new_path =shutil.copy("archivo1.txt", "archivo2.txt", follow_symlinks=False)

    2. Mover archivos

    Mover archivos se realiza usando la función de mover:

    Shutil.move("archivo1.txt", "archivo3.txt")

    La función de cambio de nombre del módulo del sistema operativo le permite cambiar el nombre de los archivos:

    importar sistema operativo
    os.rename("archivo1.txt", "archivo3.txt")

    3. Leer y escribir archivos de texto

    Puede utilizar funciones integradas para abrir archivos, leerlos o escribirles datos:

    fd = abrir("archivo1.txt")
    contenido = fd.read()
    imprimir (contenido)

    Primero debe abrir el archivo para trabajar usando la función de apertura. Para leer datos de un archivo, se utiliza la función de lectura, el texto leído se guardará en una variable. Puede especificar el número de bytes que se leerán:

    fd = abrir("archivo1.txt")
    contenido = fd.read(20)
    imprimir (contenido)

    Si el archivo es demasiado grande, puedes dividirlo en líneas y procesarlo así:

    contenido = fd.readlines()
    imprimir (contenido)

    Para escribir datos en un archivo, primero se debe abrir para escribir. Hay dos modos de operación: sobrescribir y agregar al final del archivo. Modo de grabación:

    fd = abrir("archivo1.txt","w")

    Y agregando al final del archivo:

    fd = abrir("archivo1.txt","a")
    contenido = fd.write("Nuevo contenido")

    4. Creando directorios

    Para crear un directorio use la función mkdir del módulo del sistema operativo:

    importar sistema operativo
    os.mkdir("./nueva carpeta")

    5. Obtener tiempo de creación

    Puede utilizar las funciones getmtime(), getatime() y getctime() para obtener las horas de última modificación, último acceso y creación. El resultado se generará en formato Unix, por lo que es necesario convertirlo a un formato legible:

    importar sistema operativo
    importar fecha y hora
    tim=os.path.getctime("./archivo1.txt")
    imprimir(fechahora.fechahora.demarcahora(tim))

    6. Lista de archivos

    Con la función listdir() puedes obtener una lista de archivos en una carpeta:

    importar sistema operativo
    archivos = os.listdir(".")
    imprimir (archivos)

    Para resolver el mismo problema, puedes usar el módulo glob:

    importar globo
    archivos=glob.glob("*")
    imprimir (archivos)

    7. Serializar objetos de Python

    importar pepinillo
    fd = open("miarchivo.pk ", "wb")
    pickle.dump(misdatos,fd)

    Luego para restaurar el uso del objeto:

    importar pepinillo
    fd = open("miarchivo.pk ", "rb")
    misdatos = pickle.load(fd)

    8. Compresión de archivos

    La biblioteca estándar de Python le permite trabajar con varios formatos de archivo, por ejemplo, zip, tar, gzip, bzip2. Para ver el contenido de un archivo utilice:

    importar archivo zip
    mi_zip = zipfile.ZipFile("mi_archivo.zip", modo="r")
    imprimir(archivo.listadenombres())

    Y para crear un archivo zip:

    importar archivo zip
    archivo=archivozip.ZipFile("archivos.zip","w")
    archivo.write("archivo1.txt")
    archivo.cerrar()

    También puedes descomprimir el archivo:

    importar archivo zip
    archivo=archivozip.ZipFile("archivos.zip","r")
    archivo.extractall()
    archivo.cerrar()

    Puede agregar archivos al archivo de esta manera:

    importar archivo zip
    archivo=archivozip.ZipFile("archivos.zip","a")
    archivo.write("archivo2.txt")
    archivo.cerrar()

    9. Análisis de archivos CSV y Excel

    Con el módulo pandas, puede ver y analizar el contenido de tablas CSV y Excel. Primero necesitas instalar el módulo usando pip:

    sudo pip instalar pandas

    Luego, para analizar, escriba:

    importar pandas
    datos=pandas.read_csv("archivo.csv)

    De forma predeterminada, pandas usa la primera columna para los encabezados de cada fila. Puede especificar una columna para el índice utilizando el parámetro index_col o especificar False si no es necesario. Para escribir cambios en un archivo, use la función to_csv:

    datos.to_csv("archivo.csv)

    Puede analizar el archivo de Excel de la misma manera:

    datos = pd.read_excel("archivo.xls", nombre de hoja="Hoja1")

    Si necesita abrir todas las tablas, utilice:

    datos = pd.ExcelFile("archivo.xls")

    Luego puedes volver a escribir todos los datos:

    data.to_excel("archivo.xls", hoja="Hoja1")

    Redes en Python

    La programación en Python 3 a menudo implica la creación de redes. La biblioteca estándar de Python incluye capacidades de socket para acceso a la red de bajo nivel. Esto es necesario para admitir múltiples protocolos de red.

    conector de importación
    anfitrión = "192.168.1.5"
    puerto = 4040
    my_sock = socket.create_connection((host, puerto))

    Este código se conecta al puerto 4040 en la máquina 192.168.1.5. Cuando el socket está abierto, puede enviar y recibir datos:

    my_sock.sendall(b"Hola mundo")

    Necesitamos escribir el carácter b antes de la línea porque necesitamos transferir datos en modo binario. Si el mensaje es demasiado grande, puedes iterar:

    msg = b"Aquí va el mensaje más largo"
    mesglen = len(mensaje)
    total = 0
    mientras total< msglen:
    enviado = my_sock.send(msj)
    total = total + enviado

    Para recibir datos, también necesita abrir un socket, pero use el método my_sock_recv:

    entrada_datos = mi_calcetín.recv(2000)

    Aquí indicamos cuántos datos se deben recibir: 20000, los datos no se transferirán a la variable hasta que se hayan recibido 20000 bytes de datos. Si el mensaje es más grande, para recibirlo es necesario crear un bucle:

    búfer = bytearray(b" " * 2000)
    my_sock.recv_into(búfer)

    Si el buffer está vacío, el mensaje recibido se escribirá allí.

    trabajando con correo

    La biblioteca estándar de Python le permite recibir y enviar mensajes de correo electrónico.

    1. Recibir correo desde un servidor POP3

    Para recibir mensajes utilizamos un servidor POP:

    importar getpass, poplib
    pop_serv = poplib.POP3("192.168.1.5")
    pop_serv.user("miusuario")
    pop_serv.pass_(getpass.getpass())

    El módulo getpass permite obtener la contraseña del usuario de forma segura para que no se muestre en pantalla. Si el servidor POP utiliza una conexión segura, debe utilizar la clase POP3_SSL. Si la conexión es exitosa, puede interactuar con el servidor:

    msg_list = pop_serv.list() # para enumerar los mensajes
    msg_count = pop_serv.msg_count()

    Para finalizar el trabajo utilice:

    2. Recibir correo del servidor IMAP

    Para conectarse y trabajar con el servidor IMAP, utilice el módulo imaplib:

    importar imaplib, getpass
    mi_imap = imaplib.IMAP4("imap.server.com")
    my_imap.login("miusuario", getpass.getpass())

    Si su servidor IMAP utiliza una conexión segura, debe utilizar la clase IMAP4_SSL. Para obtener una lista de mensajes utilice:

    datos = my_imap.search(Ninguno, "TODOS")

    Luego puede recorrer la lista seleccionada y leer cada mensaje:

    mensaje = my_imap.fetch(email_id, "(RFC822)")

    Pero no olvides cerrar la conexión:

    mi_imap.close()
    my_imap.cerrar sesión()

    3. Envío de correo

    Para enviar correo se utiliza el protocolo SMTP y el módulo smtplib:

    importar smtplib, getpass
    mi_smtp = smtplib.SMTP(smtp.server.com")
    my_smtp.login("miusuario", getpass.getpass())

    Como antes, utilice SMTP_SSL para una conexión segura. Cuando se establezca la conexión, podrá enviar un mensaje:

    from_addr = " [correo electrónico protegido]"
    to_addr = " [correo electrónico protegido]"
    mensaje = "De: [correo electrónico protegido]\r\nPara: [correo electrónico protegido]\r\n\r\nHola, este es un mensaje de prueba"
    my_smtp.sendmail(from_addr, to_addr, msj)

    Trabajar con páginas web

    La programación Python se utiliza a menudo para escribir varios scripts para trabajar con la web.

    1. Rastreo web

    El módulo urllib le permite consultar páginas web de diversas formas. Para enviar una solicitud regular, utilice la clase de solicitud. Por ejemplo, realicemos una solicitud de página normal:

    importar urllib.request
    mi_web = urllib.request.urlopen("https://www.google.com")
    imprimir(mi_web.read())

    2. Usando el método POST

    Si necesita enviar un formulario web, debe utilizar una solicitud POST en lugar de GET:

    importar urllib.request
    mydata = b"Tus datos van aquí"
    my_req = urllib.request.Request("http://localhost", datos=misdatos,método="POST")
    mi_formulario = urllib.request.urlopen(mi_req)
    imprimir(mi_formulario.estado)

    3. Crea un servidor web

    Usando la clase Socket, puedes aceptar conexiones entrantes, lo que significa que puedes crear un servidor web con capacidades mínimas:

    conector de importación
    anfitrión = ""
    puerto = 4242
    mi_servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    my_server.bind((host, puerto))
    mi_servidor.escuchar(1)

    Cuando se crea el servidor. puedes empezar a aceptar conexiones:

    dirección = mi_servidor.accept()
    print("Conectado desde el host", dirección)
    datos = conexión.recv(1024)

    Y no olvides cerrar la conexión:

    subprocesos múltiples

    Como la mayoría de los lenguajes modernos, Python le permite ejecutar múltiples subprocesos paralelos, lo que puede resultar útil cuando necesita realizar cálculos complejos. La biblioteca estándar tiene un módulo de subprocesamiento que contiene la clase Therad:

    importar subprocesos
    def imprimir_mensaje():
    print("El mensaje se imprimió desde un hilo diferente")
    my_thread = threading.Thread(destino=imprimir_mensaje)
    mi_hilo.start()

    Si la función se ejecuta durante demasiado tiempo, puede comprobar si todo está bien utilizando la función is_alive(). A veces, sus hilos necesitan acceder a recursos globales. Para esto se utilizan cerraduras:

    importar subprocesos
    número = 1
    my_lock = subprocesamiento.Lock()
    def mi_func():
    número global, my_lock
    my_lock.adquirir()
    suma = número + 1
    imprimir (suma)
    my_lock.liberación()
    my_thread = threading.Thread(destino=my_func)
    mi_hilo.start()

    Conclusiones

    En este artículo, cubrimos los conceptos básicos de la programación en Python. Ahora conoce la mayoría de las funciones más utilizadas y puede utilizarlas en sus programas pequeños. Te encantará programar en Python 3, ¡es muy fácil! Si tienes alguna duda, ¡pregunta en los comentarios!

    Para finalizar el artículo, hay una excelente conferencia sobre Python:

    Programación en Python

    Parte 1. Capacidades del lenguaje y sintaxis básica.

    Serie de contenido:

    ¿Vale la pena aprender Python?

    Python es uno de los lenguajes de programación modernos más populares. Es adecuado para resolver una variedad de problemas y ofrece las mismas capacidades que otros lenguajes de programación: dinamismo, soporte OOP y multiplataforma. El desarrollo de Python comenzó por Guido Van Rossum a mediados de la década de 1990, por lo que ahora fue posible deshacerse de las enfermedades "infantiles" estándar, desarrollar significativamente los mejores aspectos del lenguaje y atraer a muchos programadores que utilizan Python para implementar sus proyectos.

    Muchos programadores creen que es necesario aprender sólo lenguajes de programación "clásicos" como Java o C++, ya que otros lenguajes no podrán proporcionar las mismas capacidades de todos modos. Sin embargo, últimamente ha surgido la creencia de que es recomendable que un programador conozca más de un lenguaje, ya que esto amplía sus horizontes, le permite resolver problemas de manera más creativa y aumenta su competitividad en el mercado laboral.

    Aprender perfectamente dos lenguajes como Java y C++ es bastante difícil y llevaría mucho tiempo; Además, muchos aspectos de estos lenguajes se contradicen entre sí. Al mismo tiempo, Python es ideal para el papel de un segundo lenguaje, ya que se absorbe inmediatamente gracias al conocimiento ya existente de programación orientada a objetos y al hecho de que sus capacidades no entran en conflicto, sino que complementan la experiencia adquirida al trabajar con otra programación. idioma.

    Si un programador recién comienza en el campo del desarrollo de software, Python será un lenguaje de programación "introductorio" ideal. Gracias a su brevedad, le permitirá dominar rápidamente la sintaxis del lenguaje, y la ausencia de un "legado" en forma de axiomas formados a lo largo de muchos años le ayudará a dominar rápidamente la programación orientada a objetos. Debido a estos factores, la curva de aprendizaje de Python será bastante corta y el programador podrá pasar de ejemplos educativos a proyectos comerciales.

    Por lo tanto, no importa quién sea el lector de este artículo: un programador experimentado o un principiante en el campo del desarrollo de software, la respuesta a la pregunta que da título a esta sección debería ser un rotundo "sí".

    Esta serie de artículos está diseñada para ayudarlo a superar con éxito la curva de aprendizaje al brindarle información desde los principios más básicos del idioma hasta sus capacidades avanzadas para la integración con otras tecnologías. El primer artículo cubrirá las características básicas y la sintaxis de Python. A continuación, veremos aspectos más avanzados del trabajo con este popular lenguaje, en particular la programación orientada a objetos en Python.

    Arquitectura pitón

    Cualquier lenguaje, ya sea de programación o de comunicación, consta de al menos dos partes: vocabulario y sintaxis. El lenguaje Python está organizado exactamente de la misma manera, proporcionando una sintaxis para formar expresiones que forman programas ejecutables y un vocabulario, un conjunto de funciones en forma de una biblioteca estándar y complementos.

    Como se mencionó, la sintaxis de Python es bastante concisa, especialmente en comparación con Java o C++. Por un lado, esto es bueno, ya que cuanto más simple sea la sintaxis, más fácil será de aprender y menos errores podrás cometer al utilizarla. Sin embargo, estos lenguajes tienen un inconveniente: pueden usarse para transmitir la información más simple y no pueden expresar estructuras complejas.

    Esto no se aplica a Python, ya que es un lenguaje simple pero simplificado. El caso es que Python es un lenguaje con un mayor nivel de abstracción, superior, por ejemplo, a Java y C++, y permite transmitir la misma cantidad de información en menos código fuente.

    Python también es un lenguaje de propósito general, por lo que se puede utilizar en casi cualquier área del desarrollo de software (independiente, cliente-servidor, aplicaciones web) y en cualquier área temática. Además, Python se integra fácilmente con componentes existentes, lo que le permite integrar Python en aplicaciones ya escritas.

    Otro componente del éxito de Python son sus módulos de extensión, tanto estándar como específicos. Los módulos de extensión estándar de Python tienen una funcionalidad bien diseñada y probada para resolver los problemas que surgen en cada proyecto de desarrollo de software, procesamiento de cadenas y texto, interacción con el sistema operativo y soporte para aplicaciones web. Estos módulos también están escritos en Python, por lo que tienen su propiedad más importante: multiplataforma, lo que le permite transferir proyectos de un sistema operativo a otro de forma rápida y sin complicaciones.

    Si la funcionalidad requerida no está en la biblioteca estándar de Python, puede crear su propio módulo de extensión para su uso repetido posterior. Vale la pena señalar aquí que los módulos de extensión para Python se pueden crear no solo en el propio lenguaje Python, sino también utilizando otros lenguajes de programación. En este caso, es posible implementar de manera más eficiente tareas que consumen muchos recursos, como cálculos científicos complejos, pero la ventaja de la multiplataforma se pierde si el lenguaje del módulo de extensión no es multiplataforma, como Python.

    Tiempo de ejecución de Python

    Como usted sabe, todos los lenguajes de programación multiplataforma se basan en el mismo modelo: es un código fuente verdaderamente portátil y un entorno de ejecución, que no es portátil y específico para cada plataforma específica. Este entorno de ejecución suele incluir un intérprete que ejecuta el código fuente y varias utilidades necesarias para mantener la aplicación: un depurador, un ensamblador inverso, etc.

    El entorno de ejecución de Java también incluye un compilador porque el código fuente debe compilarse en código de bytes para la máquina virtual Java. El tiempo de ejecución de Python incluye solo un intérprete, que también es un compilador pero compila el código fuente de Python directamente en código de máquina en la plataforma de destino.

    Actualmente existen tres implementaciones de tiempo de ejecución conocidas para Python: CPython, Jython y Python.NET. Como sugiere el nombre, el primer marco se implementa en C, el segundo en Java y el último en la plataforma .NET.

    El tiempo de ejecución de CPython generalmente se llama simplemente Python, y cuando la gente habla de Python, con mayor frecuencia se refiere a esta implementación. Esta implementación consta de un intérprete y módulos de extensión escritos en C y se puede utilizar en cualquier plataforma para la que esté disponible un compilador de C estándar. Además, existen versiones precompiladas del tiempo de ejecución para varios sistemas operativos, incluidas varias versiones de Windows. SO y varias distribuciones Linux. En este artículo y en los siguientes, se considerará CPython, a menos que se indique lo contrario por separado.

    El tiempo de ejecución de Jython es una implementación de Python para ejecutar una máquina virtual Java (JVM). Se admite cualquier versión de JVM, a partir de la versión 1.2.2 (la versión actual de Java es 1.6). Trabajar con Jython requiere una máquina Java instalada (entorno de ejecución Java) y algunos conocimientos del lenguaje de programación Java. No es necesario saber escribir código fuente en Java, pero sí tendrás que manejar archivos JAR y applets de Java, así como documentación en formato JavaDOC.

    Qué versión del entorno elegir depende únicamente de las preferencias del programador; en general, se recomienda mantener tanto CPython como Jython en la computadora, ya que no entran en conflicto entre sí, sino que se complementan. El entorno CPython es más rápido porque no existe una capa intermedia en forma de JVM; Además, las versiones actualizadas de Python se lanzan por primera vez como entorno CPython. Sin embargo, Jython puede utilizar cualquier clase de Java como módulo de extensión y ejecutarse en cualquier plataforma para la que exista una implementación de JVM.

    Ambos entornos de ejecución se publican bajo una licencia compatible con la conocida licencia GPL, por lo que pueden utilizarse para el desarrollo de software tanto comercial como libre. La mayoría de las extensiones de Python también tienen licencia GPL y se pueden usar libremente en cualquier proyecto, pero también existen extensiones comerciales o extensiones con licencias más estrictas. Por lo tanto, cuando utilice Python en un proyecto comercial, necesita saber qué restricciones existen en las licencias del complemento de extensión.

    Empezando con Python

    Antes de comenzar a usar Python, debe instalar su entorno de ejecución; en este artículo, esto es CPython y, en consecuencia, el intérprete de Python. Hay varios métodos de instalación: los usuarios experimentados pueden compilar Python ellos mismos a partir de su código fuente disponible públicamente, también pueden descargar archivos ejecutables ya preparados para un sistema operativo específico desde el sitio web www.python.org y, finalmente, muchas distribuciones de Linux vienen con un intérprete de Python preinstalado. Este artículo utiliza la versión de Windows de Python 2.x, pero los ejemplos presentados se pueden ejecutar en cualquier versión de Python.

    Después de que el instalador haya implementado los ejecutables de Python en el directorio especificado, debe verificar los valores de las siguientes variables del sistema:

    • CAMINO. Esta variable debe contener la ruta al directorio donde está instalado Python para que el sistema operativo pueda encontrarlo.
    • CASA DE PITÓN. Esta variable solo debe contener la ruta al directorio donde está instalado Python. Este directorio también debe contener un subdirectorio lib en el que se buscarán módulos estándar de Python.
    • PYTHONPATH. Una variable con una lista de directorios que contienen módulos de extensión que se conectarán a Python (los elementos de la lista deben estar separados por un delimitador del sistema).
    • INICIO DE PYTHON. Una variable opcional que especifica la ruta al script de Python que debe ejecutarse cada vez que se inicia una sesión interactiva del intérprete de Python.

    La línea de comando para trabajar con el intérprete tiene la siguiente estructura.

    PYTHONHOME\python (opciones) [comando -c | archivo de secuencia de comandos | - ] (argumentos)

    Modo interactivo de Python

    Si inicia el intérprete sin especificar un comando o archivo de secuencia de comandos, se iniciará en modo interactivo. En este modo, se inicia un shell de Python especial en el que se pueden ingresar comandos o expresiones individuales y su valor se calculará inmediatamente. Esto es muy conveniente al aprender Python, ya que puedes verificar inmediatamente la exactitud de una construcción en particular.

    El valor de la expresión evaluada se almacena en una variable especial llamada Single Underscore (_) para que pueda usarse en expresiones posteriores. Puede finalizar una sesión interactiva utilizando el método abreviado de teclado Ctrl–Z en Windows o Ctrl–D en Linux.

    Las opciones son valores de cadena opcionales que pueden cambiar el comportamiento del intérprete durante una sesión; su importancia se discutirá en este y en artículos posteriores. Las opciones especifican un comando específico que debe ejecutar el intérprete o la ruta a un archivo que contiene el script que se ejecutará. Vale la pena señalar que un comando puede constar de varias expresiones separadas por punto y coma y debe estar entre comillas para que el sistema operativo pueda pasarlo correctamente al intérprete. Los argumentos son aquellos parámetros que se pasan para su posterior procesamiento al script ejecutable; se pasan al programa como cadenas y se separan por espacios.

    Para verificar que Python esté instalado correctamente y funcione correctamente, puede ejecutar los siguientes comandos:

    c:\>python-v
    c:\> python –c “importar tiempo; imprimir tiempo.asctime()”

    La opción -v imprime la versión de la implementación de Python que se está utilizando y sale, mientras que el segundo comando imprime el valor de hora del sistema en la pantalla.

    Puede escribir scripts de Python en cualquier editor de texto, ya que son archivos de texto normales, pero también existen entornos de desarrollo especiales diseñados para trabajar con Python.

    Conceptos básicos de sintaxis de Python

    Los scripts del código fuente de Python constan de los llamados cadenas lógicas, cada uno de los cuales a su vez consta de lineas fisicas. El símbolo # se utiliza para indicar comentarios. El intérprete ignora comentarios y líneas vacías.

    El siguiente es un aspecto muy importante que puede parecer extraño para los programadores que aprenden Python como segundo lenguaje de programación. El caso es que en Python no existe ningún símbolo que se encargue de separar expresiones entre sí en el código fuente, como el punto y coma (;) en C++ o Java. Un punto y coma le permite separar varias instrucciones si están en la misma línea física. Tampoco existe una construcción como llaves (), que le permite combinar un grupo de instrucciones en un solo bloque.

    Las líneas físicas están separadas por el propio carácter de fin de línea, pero si la expresión es demasiado larga para una línea, entonces las dos líneas físicas se pueden combinar en una línea lógica. Para hacer esto, debe ingresar un carácter de barra invertida (\) al final de la primera línea, y luego el intérprete interpretará la siguiente línea como una continuación de la primera; sin embargo, es imposible que haya otros caracteres en la primera línea después del carácter \, por ejemplo, un comentario con #. Sólo se utiliza sangría para resaltar bloques de código. Las líneas lógicas con el mismo tamaño de sangría forman un bloque, y el bloque termina cuando aparece una línea lógica con un tamaño de sangría menor. Es por eso que la primera línea de un script de Python no debe tener sangría. Dominar estas sencillas reglas te ayudará a evitar la mayoría de los errores asociados con el aprendizaje de un nuevo idioma.

    No existen otras diferencias radicales en la sintaxis de Python con respecto a otros lenguajes de programación. Existe un conjunto estándar de operadores y palabras clave, la mayoría de los cuales ya son familiares para los programadores, mientras que los específicos de Python se tratarán en este artículo y en los siguientes. Las reglas estándar también se utilizan para especificar identificadores de variables, métodos y clases: el nombre debe comenzar con un guión bajo o un carácter latino en cualquier caso y no puede contener los caracteres @, $, %. Además, no se puede utilizar solo un carácter de subrayado como identificador (consulte la nota al pie que habla sobre el modo de operación interactivo).

    Tipos de datos utilizados en Python

    Los tipos de datos utilizados en Python también son los mismos que en otros lenguajes: tipos de datos enteros y reales; Además, se admite un tipo de datos complejo, con una parte real e imaginaria (un ejemplo de este tipo de número es 1,5J o 2j, donde J es la raíz cuadrada de -1). Python admite cadenas que pueden estar entre comillas simples, dobles o triples, y las cadenas, como Java, son objetos inmutables, es decir. no pueden cambiar su valor después de la creación.

    Python también tiene un tipo de datos lógico bool con dos opciones de valor: Verdadero y Falso. Sin embargo, en versiones anteriores de Python no existía tal tipo de datos y, además, cualquier tipo de datos podía convertirse al valor booleano Verdadero o Falso. Todos los números distintos de cero y las cadenas o colecciones de datos no vacías se trataron como Verdaderos, y los valores vacíos y cero se trataron como Falso. Esta característica se ha conservado en las nuevas versiones de Python; sin embargo, para aumentar la legibilidad del código, se recomienda utilizar el tipo bool para las variables booleanas. Al mismo tiempo, si necesita mantener la compatibilidad con versiones anteriores de implementaciones anteriores de Python, debe usar 1 (Verdadero) o 0 (Falso) como variables booleanas.

    Funcionalidad para trabajar con conjuntos de datos.

    Python define tres tipos de colecciones para almacenar conjuntos de datos:

    • tupla (tupla);
    • lista(lista);
    • diccionario.

    Una tupla es una secuencia ordenada inmutable de datos. Puede contener elementos de diferentes tipos, como otras tuplas. Una tupla se define entre paréntesis y sus elementos están separados por comas. Una función especial incorporada, tuple(), le permite crear tuplas a partir de una secuencia determinada de datos.

    Una lista es una secuencia ordenada y mutable de elementos. Los elementos de la lista también están separados por comas, pero se especifican entre corchetes. Para crear listas se propone la función list().

    Un diccionario es una tabla hash que almacena un elemento junto con su clave identificadora. El acceso posterior a los elementos también se realiza mediante clave, por lo que la unidad de almacenamiento en un diccionario es un par objeto-clave y un objeto de valor asociado. Un diccionario es una colección mutable pero desordenada, por lo que el orden de los elementos del diccionario puede cambiar con el tiempo. El diccionario se especifica entre llaves, la clave está separada del valor por dos puntos y los pares clave/valor están separados por comas. La función dict() está disponible para crear diccionarios.

    El Listado 1 muestra ejemplos de las diferentes colecciones disponibles en Python.

    Listado 1. Tipos de colecciones disponibles en Python
    ('w','o','r','l','d') # tupla de cinco elementos (2.62,) # tupla de un elemento [“test”,"me"] # lista de dos elementos # lista vacía ( 5:'a', 6:'b', 7:'c' ) # diccionario de tres elementos con claves de tipo int

    Definición de funciones en Python

    Aunque Python admite programación orientada a objetos, muchas de sus características se implementan como funciones independientes; Además, los módulos de extensión suelen tener la forma de una biblioteca de funciones. Las funciones también se utilizan en clases, donde tradicionalmente se denominan métodos.

    La sintaxis para definir funciones en Python es extremadamente sencilla; teniendo en cuenta los requisitos anteriores:

    def FUNCTION_NAME(parámetros): expresión No. 1 expresión No. 2 ...

    Como puede ver, es necesario utilizar la palabra funcional def, dos puntos y sangría. Llamar a la función también es muy sencillo:

    FUNCTION_NAME(parámetros)

    Sólo hay que considerar algunas cosas específicas de Python. Al igual que en Java, los valores primitivos se pasan por valor (se pasa una copia del parámetro a la función y no puede cambiar el valor establecido antes de llamar a la función), y los tipos de objetos complejos se pasan por referencia (una referencia es pasado a la función y bien puede cambiar el objeto).

    Los parámetros se pueden pasar simplemente por orden de listado o por nombre; en este caso, no es necesario especificar al llamar aquellos parámetros para los cuales hay valores predeterminados, sino pasar solo los obligatorios o cambiar el orden de los parámetros al llamar a una función:

    #función que realiza la división de enteros - usando el operador // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # resultado del trabajo: 10 print divide(delitel=5, delimoe=50) # resultado funciona: 10

    Una función en Python debe devolver un valor; esto se hace explícitamente usando una declaración de retorno seguida del valor de retorno o, en ausencia de una declaración de retorno, devolviendo una constante Ninguno cuando se llega al final de la función. Como puede ver en las declaraciones de función de ejemplo, en Python no es necesario especificar si algo se devuelve de una función o no, pero si una función tiene una declaración de retorno que devuelve un valor, entonces las otras declaraciones de retorno en esa función deben valores de retorno, y si dicho valor no, entonces debe especificar explícitamente retorno Ninguno.

    Si la función es muy simple y consta de una línea, entonces se puede definir directamente en el punto de uso en Python; dicha construcción se llama función lambda. Una función lambda es una función anónima (sin nombre propio), cuyo cuerpo es una declaración de retorno que devuelve el valor de alguna expresión. Este enfoque puede resultar conveniente en algunas situaciones, pero vale la pena señalar que reutilizar dichas funciones es imposible (“donde nació, resultó útil”).

    También vale la pena describir la actitud de Python hacia el uso de la recursividad. De forma predeterminada, la profundidad de recursividad está limitada a 1000 niveles y, cuando se pasa este nivel, se generará una excepción y el programa dejará de ejecutarse. Sin embargo, si es necesario, se puede cambiar el valor de este límite.

    Las funciones en Python tienen otras características interesantes, como documentación y la capacidad de definir funciones anidadas, pero estas se explorarán en artículos posteriores de la serie con ejemplos más complejos.

    ¿Qué programas están escritos en Python?

    Software de aplicación para personas normales.

    Primero repasemos los programas que utilizan la gente común que no es especialista en el campo de la tecnología de la información.

    BitTorrent

    Todas las versiones hasta la 6 de este cliente torrent fueron escritas en Python. La versión 6 fue reescrita en C++.

    Centro de software de Ubuntu

    Cita de Wikipedia:
    Centro de aplicaciones de Ubuntu(Inglés) Centro de software de Ubuntu) es un software gratuito para buscar, instalar y eliminar paquetes en un sistema Ubuntu Linux. en las últimas versiones es posible adquirir revistas sobre Linux y Ubuntu, y también puedes adquirir juegos y software pagos. La aplicación está desarrollada en Python + Vala utilizando bibliotecas GTK+ y es un shell gráfico para Advanced Packaging Tool.

    Licuadora

    Cita de Wikipedia:
    Licuadora- un paquete profesional gratuito para crear gráficos por computadora tridimensionales, que incluye herramientas para modelado, animación, renderizado, posprocesamiento de video y creación de juegos interactivos. Actualmente, es el más popular entre los editores 3D gratuitos debido a su desarrollo rápido y estable, facilitado por un equipo de desarrollo profesional.

    Python se utiliza como herramienta para crear herramientas y prototipos, sistemas lógicos en juegos, como medio para importar/exportar archivos (por ejemplo COLLADA) y automatizar tareas.

    Aquí hay algunas páginas de documentación:

    CAÑUTILLO

    Cita de Wikipedia:
    Python se utiliza para escribir módulos adicionales, como filtros.
    Aquí hay algunas páginas que profundizan en el tema:

    Juegos

    Civilización IV

    La mayor parte del juego está escrito en Python().

    Campo de batalla 2

    Hay muchos tutoriales y recetas sencillas en Internet para cambiar varios objetos y su comportamiento.

    Mundo de tanques

    Cita del artículo "GUI en el juego World of Tanks":
    Python se utiliza como lenguaje de programación en el proyecto. Toda la belleza que creamos en Flash debe conectarse en el juego, llenarse de datos, procesarse y traducirse en acciones reales en el juego. Todo esto se hace en Python.
    Puede encontrar una lista más completa de juegos que usan Python en Wikipedia y en la documentación de Python.

    ¿Qué empresas utilizan Python?

    La lista de empresas que utilizan Python es larga. Entre ellos se encuentran Google, Facebook, Yahoo , NASA , Sombrero rojo , IBM , Instagram , Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

    yandex

    Aquí tienes el informe “Python en el núcleo de Yandex.Disk”. Serguéi Ivashchenko (portavoz):
    Hablaré sobre cómo usamos Python en Yandex.Disk, qué bibliotecas y marcos usamos, qué tareas resolvemos y qué problemas encontramos. También tocaré el tema del registro y procesamiento de operaciones asincrónicas.
    En uno de los videos del canal Yandex, los empleados hablaban sobre sus idiomas favoritos.

    Y en el blog de la empresa Yandex hay una entrada "Qué lenguajes de programación se escriben en Yandex" del 19 de marzo de 2014. Así, el 13% de los empleados de Yandex escriben la mayor parte de su tiempo de trabajo en Python.

    correo.ru

    Los empleados de Mail.ru también utilizan Python. El blog oficial de Mail.ru sobre Habré tiene varios artículos sobre Python:

    Google

    Google ha utilizado Python ampliamente desde su fundación. Hay rumores de que la mayor parte de YouTube y Google Drive están escritos en Python. Google ha desarrollado una plataforma en la nube completa, Google App Engine, para que los desarrolladores puedan ejecutar código Python en la nube de Google. Muchos desarrolladores de idiomas han trabajado y están trabajando en Google.

    DropBox

    El servicio está desarrollado en Python. No es casualidad que el autor del lenguaje Python, Guido van Rossum, trabaje en DropBox.

    Otras empresas

    Las organizaciones que usan Python

    ¿En qué áreas se utiliza Python?

    desarrollo web

    Python es quizás el más utilizado en este ámbito. El marco web Django continúa ganando impulso y ampliando su ejército de seguidores. Muchos programadores novatos incluso piensan que Python no se usa en ningún otro lugar. Pero muchos otros frameworks web están escritos en Python: Pylons turboengranajes , CherryPy, Flask, Pyramid y otros. Puedes encontrar una lista más completa.
    También existe un CMS basado en Django, se llama DjangoCMS.
    Muy a menudo, los analizadores de sitios web están escritos en Python. Normalmente se utilizan Requests, aiohttp, BeautifulSoup, html5lib para esto. También existen herramientas de nivel superior para el análisis de sitios web: Scrapy, agarrar.

    administración del sistema

    Python es un gran lenguaje para automatizar el trabajo de un administrador de sistemas. Está instalado de forma predeterminada en todos los servidores Linux. Es simple y comprensible. El código Python es fácil de leer. A algunas personas les encanta Perl, a mí también me encanta por su facilidad para trabajar con expresiones regulares, pero odio Perl por su sintaxis. Bash es útil para scripts relativamente pequeños y medianos, pero Python es más potente y, en algunos casos, permite escribir mucho menos código.
    El único paquete que conozco es Fabric. Quizás haya algo más, escríbeme en los comentarios si lo sabes.

    Información adicional

    Python para administradores de sistemas (IBM developmentWorks)
    Documentación de tela. Administración de Sistemas.

    Sistemas integrados

    Python se utiliza con mucha frecuencia para programar sistemas integrados. El proyecto más famoso que utiliza Python es Raspberry Pi. Pero él no es el único:
    Python integrado
    Frambuesa Pi
    Herramientas integradas de Python
    El sistema Python integrado de Owl

    Desarrollo de software de aplicaciones, incluidos juegos.

    Python se utiliza a menudo como lenguaje de apoyo en el desarrollo de software de aplicaciones. Ya he dado ejemplos arriba, no los repetiré.

    investigación científica

    Los físicos y matemáticos aman Python por su simplicidad. Además, existe una gran cantidad de bibliotecas para Python que facilitan la vida al científico. Por ejemplo:
    1. ciencia ficción es una biblioteca abierta de herramientas científicas de alta calidad para el lenguaje de programación Python. SciPy contiene módulos para optimización, integración, funciones especiales, procesamiento de señales, procesamiento de imágenes, algoritmos genéticos, resolución de ecuaciones diferenciales ordinarias y otros problemas comúnmente resueltos en ciencia e ingeniería.
    2. Matplotlib- una biblioteca en el lenguaje de programación Python para visualizar datos con gráficos bidimensionales (2D) (también se admiten gráficos 3D). Las imágenes resultantes se pueden utilizar como ilustraciones en publicaciones.
    3. NumPy es una extensión del lenguaje Python que agrega soporte para grandes matrices y arreglos multidimensionales, junto con una gran biblioteca de funciones matemáticas de alto nivel para operar en estos arreglos.
    Puede encontrar una lista más completa de bibliotecas de informática científica en Python en Wikipedia.

    Educación

    A menudo se recomienda Python como primer lenguaje de programación.
    Algunas escuelas rusas tienen experiencia exitosa en enseñar a los escolares a programar en Python.
    Por cierto, Guido van Rossum quedó impresionado por el lenguaje ABC cuando escribió Python. Y el lenguaje ABC estaba destinado a la formación y la creación de prototipos.

    Críticas al lenguaje Python

    Python es uno de los lenguajes de programación más lentos

    En Internet puedes encontrar muchas pruebas de velocidad diferentes para programas escritos en diferentes lenguajes de programación. Python suele estar al final de las listas.
    Normalmente, Python se refiere a CPython, la implementación de referencia del lenguaje. Existen otras implementaciones del lenguaje Python, como PyPy. PyPy es más rápido que CPython y muchos otros lenguajes de programación de scripts, y está muy cerca de Java en velocidad. Pero hay un problema: PyPy no implementa completamente el lenguaje Python, debido a esto, muchos programas Python no funcionan en él.
    Muchos programadores escriben inserciones en C/C++ para acelerar el trabajo en los cuellos de botella. Python no está diseñado para tareas computacionales, para tareas que requieren mucha memoria (ligada a memoria) y similares. Debe poder elegir las herramientas adecuadas para las tareas que enfrenta. Guido van Rossum habla de ello en una entrevista.

    GIL evita que se ejecuten varios subprocesos simultáneamente

    Global Interpreter Lock evita que se ejecuten varios subprocesos de Python simultáneamente. Estas son características de CPython. ¿Pero es esto una desventaja? Debes entender que todo depende de la tarea. Si su tarea depende de la velocidad de E/S (tarea vinculada a IO), entonces es más eficiente utilizar varios procesos que funcionarán de forma asincrónica con recursos externos. Y los subprocesos de memoria compartida son buenos para tareas informáticas (vinculados a la CPU). Pero incluso si necesita trabajar con subprocesos, puede desactivar GIL por un tiempo, ya que esto se hace en el paquete matemático NumPy.

    No hay buenas herramientas de distribución.

    Desafortunadamente, el código Python, que depende mucho de las bibliotecas del sistema, es difícil de trasladar a otros sistemas. Este problema se resuelve usando virtualenv. pero esta herramienta es muy criticada por los administradores de sistemas.

    Información adicional

    Historias de éxito de Python
    Usaste Python para escribir ¿QUÉ?
    ¿Para qué se utiliza Python?
    Más pruebas de que es el mundo de Python y simplemente vivimos en él
    SALARIO PROMEDIO PARA TRABAJOS QUE REQUIEREN PYTHON
    Lista de software Python


    
    Arriba