{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "id": "6560885d", "metadata": { "id": "6560885d" }, "source": [ "# Variables \n", "* Declaración    →   en Python no declaramos el tipo de las variables\n", "* Inicialización   →   cuando se asigna un primer valor\n", "* Asignación     →   cuando se modifica el valor de la variable\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "9e8cf04e", "metadata": { "id": "9e8cf04e", "outputId": "3bc834b1-d964-49e4-9144-9d620b74dfea", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "10\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "11" ] }, "metadata": {}, "execution_count": 1 } ], "source": [ "x = 3\n", "x = 10\n", "print(x) # imprime 10 que es el último valor, una nueva asignación reemplaza el valor de la vble.\n", "x = x + 1 # ahora la variable x vale 11. Equivale a poner x += 1 (contador)\n", "x" ] }, { "cell_type": "code", "execution_count": 2, "id": "999677c9", "metadata": { "id": "999677c9" }, "outputs": [], "source": [ "a, b, c = 10, 20, 30 # asignación a múltiples variables\n", "p = q = r = 1 # las tres variables se asignan al mismo valor" ] }, { "cell_type": "code", "execution_count": 3, "id": "8157ad7d", "metadata": { "id": "8157ad7d", "outputId": "cf9fef28-3df3-4be0-dfbf-751fd757b14a", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "a= 10 b= 20 c= 30\n", "a=10, b=20, c=30\n", "a=10, b=20, c=30\n" ] } ], "source": [ "print('a=', a, 'b=', b, 'c=', c) # al separar con coma se deja un espacio\n", "print('a=' + str(a) + ', b=' + str(b) + ', c=' + str(c)) # solución 1 para evitar el espacio\n", "print(f'a={a}, b={b}, c={c}') # solución 2 para evitar el espacio" ] }, { "cell_type": "markdown", "id": "25a6156f", "metadata": { "id": "25a6156f" }, "source": [ "# Permutar valores \n", "## Utilizando una variable auxiliar\n", "\"Tres" ] }, { "cell_type": "code", "execution_count": 4, "id": "bcb071e5", "metadata": { "id": "bcb071e5", "outputId": "c71bda19-6041-4bd4-8812-57176fa62aed", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "a=10, b=5\n" ] } ], "source": [ "a = 5\n", "b = 10\n", "aux = a # creamos una variable auxiliar, se suele llamar aux o temp\n", "a = b\n", "b = aux\n", "print(f'a={a}, b={b}')" ] }, { "cell_type": "markdown", "id": "113b1dee", "metadata": { "id": "113b1dee" }, "source": [ "## Python permite permutar en una sola línea" ] }, { "cell_type": "code", "execution_count": 5, "id": "ba95b435", "metadata": { "id": "ba95b435", "outputId": "cbc46293-32d9-499c-f4fc-d26ff891e853", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "a=10, b=5\n" ] } ], "source": [ "a, b = 5, 10\n", "a, b = b, a # otra forma maravillosa de permutar valores\n", "print(f'a={a}, b={b}')" ] }, { "cell_type": "markdown", "id": "600dc401", "metadata": { "id": "600dc401" }, "source": [ "# Constantes \n", "En Python no hay que declarar las constantes. \n", "Una constante es una variable que no cambiará durante la ejecución del programa. \n", "Por convenio se nombran en mayúsculas, por ejemplo:" ] }, { "cell_type": "code", "execution_count": 6, "id": "52f642f5", "metadata": { "id": "52f642f5", "outputId": "2337a95a-f4f0-4858-8f91-c269a59f6da8", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "0.21" ] }, "metadata": {}, "execution_count": 6 } ], "source": [ "IVA = 0.21\n", "IVA" ] }, { "cell_type": "markdown", "id": "5bbe8678", "metadata": { "id": "5bbe8678" }, "source": [ "## Importar las constantes de un fichero\n", "Otra opción es incorporar todas las constantes a un fichero y luego importar el fichero. \n", "Creamos el archivo *constantes.py* en la subcarpeta *mypy* (o el nombre que quieras)." ] }, { "cell_type": "code", "execution_count": 7, "id": "188cd167", "metadata": { "id": "188cd167" }, "outputs": [], "source": [ "# este es el contenido del archivo constantes.py\n", "# no ejecutamos estas líneas en Colab, por eso van comentadas\n", "\n", "#LUZ = 299708 # velocidad de la luz en km/s\n", "#G = 9.832 # gravedad de la tierra m/s2" ] }, { "cell_type": "markdown", "id": "a222b7f1", "metadata": { "id": "a222b7f1" }, "source": [ "Luego importamos la constante LUZ con alguno de los siguientes métodos." ] }, { "cell_type": "markdown", "id": "6573f36c", "metadata": { "id": "6573f36c" }, "source": [ "### Método 1 importando todo el módulo\n", "Antes de ejecutar este método podemos limpiar el kernel." ] }, { "cell_type": "markdown", "source": [ "#### Método 1.A: si estamos trabajando con Jupyter Notebook\n", "* Usando Anaconda o usando simplemente un Jupyter Notebook, sin usar Google Colab\n", "* Si ejecutamos las siguientes líneas desde Colab dará error (vea el método 1.B)" ], "metadata": { "id": "TEhf68Bz7BWv" }, "id": "TEhf68Bz7BWv" }, { "cell_type": "code", "execution_count": 8, "id": "a55a1dce", "metadata": { "id": "a55a1dce" }, "outputs": [], "source": [ "# dejamos comentadas estas líneas ya que en Colab darían error\n", "# estas líneas funcionarían correctamente trabajando con Jupyter Notebook en local\n", "\n", "#from mypy.constantes import *\n", "#hasta_luna = 406700 / LUZ\n", "#print(hasta_luna, 'segundos')" ] }, { "cell_type": "markdown", "source": [ "#### Método 1.B: si estamos trabajando con Google Colab\n", "En caso de usar Google Colab, previamente necesitamos clonar el repositorio que está en GitHub." ], "metadata": { "id": "p-8zfpVW7g7t" }, "id": "p-8zfpVW7g7t" }, { "cell_type": "markdown", "source": [ "A la izquierda pulsamos sobre el icono con forma de carpeta (files) y se despliega el arbol de carpetas de nuestra sesión de Colab. \n", "Observe los cambios que se van a producir en la carpeta `content` donde, después del clonado, aparecerá nuestro repositorio que se llama `pyCourse`.\n", "\n", "\"antes\"                \"despues\"" ], "metadata": { "id": "doBMW_ap9q-C" }, "id": "doBMW_ap9q-C" }, { "cell_type": "code", "source": [ "# así efectuamos el clonado de nuestro repositorio que está en GitHub\n", "!git clone https://github.com/financieras/pyCourse.git" ], "metadata": { "id": "Cg-bRugd71wL", "outputId": "8a7a331a-594f-4f4c-cca8-205fbbcee6a9", "colab": { "base_uri": "https://localhost:8080/" } }, "id": "Cg-bRugd71wL", "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cloning into 'pyCourse'...\n", "remote: Enumerating objects: 5422, done.\u001b[K\n", "remote: Counting objects: 100% (2147/2147), done.\u001b[K\n", "remote: Compressing objects: 100% (697/697), done.\u001b[K\n", "remote: Total 5422 (delta 1602), reused 1927 (delta 1444), pack-reused 3275\u001b[K\n", "Receiving objects: 100% (5422/5422), 5.24 MiB | 22.93 MiB/s, done.\n", "Resolving deltas: 100% (3963/3963), done.\n" ] } ] }, { "cell_type": "code", "source": [ "# para saber en qué directorio estoy\n", "%pwd" ], "metadata": { "id": "g9b0-2jPBrrZ", "outputId": "c7301d43-26ee-4cd7-8b72-7a581a7b681a", "colab": { "base_uri": "https://localhost:8080/", "height": 35 } }, "id": "g9b0-2jPBrrZ", "execution_count": 10, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'/content'" ], "application/vnd.google.colaboratory.intrinsic+json": { "type": "string" } }, "metadata": {}, "execution_count": 10 } ] }, { "cell_type": "code", "source": [ "# nos vamos hasta el directorio jupyter\n", "%cd pyCourse/jupyter" ], "metadata": { "id": "dzDOHGrJau0s", "outputId": "a3b56ff8-636f-4145-f2b2-98702ebf502b", "colab": { "base_uri": "https://localhost:8080/" } }, "id": "dzDOHGrJau0s", "execution_count": 11, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/content/pyCourse/jupyter\n" ] } ] }, { "cell_type": "code", "source": [ "%pwd" ], "metadata": { "id": "12NoPKr7a2d1", "outputId": "305a8e22-40ef-4b4b-ec30-80ef37b39e82", "colab": { "base_uri": "https://localhost:8080/", "height": 35 } }, "id": "12NoPKr7a2d1", "execution_count": 12, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'/content/pyCourse/jupyter'" ], "application/vnd.google.colaboratory.intrinsic+json": { "type": "string" } }, "metadata": {}, "execution_count": 12 } ] }, { "cell_type": "code", "source": [ "from mypy.constantes import LUZ\n", "# se pone el directorio mypy, se pone punto, se pone constantes sin el .py" ], "metadata": { "id": "TjqbN5peBA1r" }, "id": "TjqbN5peBA1r", "execution_count": 13, "outputs": [] }, { "cell_type": "code", "source": [ "LUZ # comprobamos si ahora ya tenemos acceso a la constante LUZ" ], "metadata": { "id": "SmS8q7xba-wD", "outputId": "3663b2f5-3679-47e5-e991-13e39ecb59f5", "colab": { "base_uri": "https://localhost:8080/" } }, "id": "SmS8q7xba-wD", "execution_count": 14, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "299708" ] }, "metadata": {}, "execution_count": 14 } ] }, { "cell_type": "markdown", "id": "922e8c8e", "metadata": { "id": "922e8c8e" }, "source": [ "### Método 2 importando solo una constante\n", "Antes de ejecutar este método podemos limpiar el kernel." ] }, { "cell_type": "code", "execution_count": 15, "id": "3f9df4d5", "metadata": { "id": "3f9df4d5" }, "outputs": [], "source": [ "# dejamos comentadas estas líneas ya que en Colab darían error\n", "# estas líneas funcionarían correctamente trabajando con Jupyter Notebook en local\n", "\n", "#from mypy.constantes import LUZ\n", "#hasta_luna = 406700 / LUZ\n", "#print(hasta_luna, 'segundos')" ] }, { "cell_type": "markdown", "id": "583bd389", "metadata": { "id": "583bd389" }, "source": [ "### Método 3 importando todas las constantes\n", "Antes de ejecutar este método podemos limpiar el kernel." ] }, { "cell_type": "code", "execution_count": 16, "id": "7562442b", "metadata": { "id": "7562442b" }, "outputs": [], "source": [ "# dejamos comentadas estas líneas ya que en Colab darían error\n", "# estas líneas funcionarían correctamente trabajando con Jupyter Notebook en local\n", "\n", "\n", "#import mypy.constantes\n", "#hasta_luna = 406700 / mypy.constantes.LUZ\n", "#print(hasta_luna, 'segundos')" ] }, { "cell_type": "markdown", "id": "7c24e14e", "metadata": { "id": "7c24e14e" }, "source": [ "### Método 4 importando con un alias\n", "Antes de ejecutar este método podemos limpiar el kernel." ] }, { "cell_type": "code", "execution_count": 17, "id": "7057eaf1", "metadata": { "id": "7057eaf1" }, "outputs": [], "source": [ "# dejamos comentadas estas líneas ya que en Colab darían error\n", "# estas líneas funcionarían correctamente trabajando con Jupyter Notebook en local\n", "\n", "#import mypy.constantes as cte # podemos poner el alias que queramos\n", "#hasta_luna = 406700 / cte.LUZ # distancia más lejana: apogeo 406700 Km\n", "#print(hasta_luna, 'segundos')" ] }, { "cell_type": "markdown", "id": "32254ff8", "metadata": { "id": "32254ff8" }, "source": [ "## Podemos correr un archivo .py\n", "* Podemos correr un archivo .py dando la orden desde una celda de Jupyter notebook. \n", "* Esto es una forma alternativa de proceder, si estamos trabajando desde un Jupyter notebook o un Jupyter lab. \n", "* También funciona en Colab si hemos clonado previamente el repositorio y estamos en el directorio correcto.\n", "\n", "[Celdas mágicas](https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-run)" ] }, { "cell_type": "code", "execution_count": 18, "id": "ef8b973f", "metadata": { "id": "ef8b973f", "outputId": "4e2a957d-df11-418c-fd52-7024a8d6481b", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "9.832" ] }, "metadata": {}, "execution_count": 18 } ], "source": [ "%run ./mypy/constantes.py # con el % interactuamos con el sistema operativo (con la terminal)\n", "G" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.11" }, "colab": { "name": "0090_variables.ipynb", "provenance": [], "include_colab_link": true } }, "nbformat": 4, "nbformat_minor": 5 }