{ "cells": [ { "cell_type": "markdown", "id": "f507201c-523c-46d2-9ad6-ebf93c0c52d1", "metadata": { "tags": [] }, "source": [ "Funciones internas básicas en Python --- 15 min\n", "===\n", "\n", "* 15 min | Última modificación: Octubre 4, 2021 " ] }, { "cell_type": "markdown", "id": "45e1520b-63b6-42db-a6dd-c561b709150a", "metadata": {}, "source": [ "## type()" ] }, { "cell_type": "code", "execution_count": 1, "id": "9f33e748-f032-40d1-91e8-d4cde65fe1a2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "int" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "float" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "str" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "bool" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "list" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(\n", " type(1),\n", " type(1.2),\n", " type(\"hola\"),\n", " type(True),\n", " type([]),\n", ")" ] }, { "cell_type": "markdown", "id": "12bd26ff-a166-4ebf-9ca4-3c00b1d49d62", "metadata": {}, "source": [ "## Conversión de tipos" ] }, { "cell_type": "code", "execution_count": 2, "id": "d797f33a-5c35-4bd6-9d58-0933da0381ae", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "123456" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#\n", "# int()\n", "# =============================================================================\n", "# Convierte un elemento a un entero\n", "#\n", "display(\n", " int(1.23456),\n", " int(\"123456\"), # si el número es flotante genera un error\n", " int(True),\n", " int(False),\n", ")" ] }, { "cell_type": "code", "execution_count": 3, "id": "f8f42067-5d24-4996-abb7-335556b989d2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1.23456" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1.0" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#\n", "# float()\n", "# =============================================================================\n", "# Convierte un elemento a un flotante\n", "#\n", "display(\n", " float(1),\n", " float(\"1.23456\"),\n", " float(True),\n", " float(False),\n", ")" ] }, { "cell_type": "code", "execution_count": 4, "id": "71942810-54f9-40b0-98e3-f6d893ab5374", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "True" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#\n", "# bool()\n", "# =============================================================================\n", "# Convierte un elemento a un booleano\n", "#\n", "display(\n", " bool(),\n", " bool(1),\n", " bool(1.1),\n", " bool(\"True\"),\n", " bool(\"False\"),\n", " bool(\"Hola\"),\n", ")" ] }, { "cell_type": "code", "execution_count": 5, "id": "b0bb66be-dfe4-4caf-8e89-fe8b4fb79162", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'1'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'1.1'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'True'" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#\n", "# str()\n", "# =============================================================================\n", "# Convierte un elemento a un string\n", "#\n", "display(\n", " str(1),\n", " str(1.1),\n", " str(True),\n", ")" ] }, { "cell_type": "markdown", "id": "0c554dab-a2fd-4464-bca2-34660977e788", "metadata": {}, "source": [ "isinstance()\n", "---" ] }, { "cell_type": "code", "execution_count": 6, "id": "041c5f1f-92bc-435d-9079-44d859113559", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Pregunta si el valor o la variable es del tipo\n", "# especificado.\n", "#\n", "float_var = 1.0\n", "isinstance(float_var, float)" ] }, { "cell_type": "code", "execution_count": 7, "id": "badec5d5-570c-4460-b876-77f669a98696", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# 1.0 no es un string\n", "#\n", "isinstance(1.0, str)" ] }, { "cell_type": "code", "execution_count": 8, "id": "9b3d4a81-bb6c-4b90-8cf8-28b93e5e74e9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Operador OR en isinstance\n", "#\n", "isinstance(1, (int, float))" ] }, { "cell_type": "markdown", "id": "aebcc2d4-cb0f-4187-a3c7-26b56af1bc5e", "metadata": {}, "source": [ "## print()" ] }, { "cell_type": "code", "execution_count": 9, "id": "8d365d24-d25a-4b37-8943-25c88f752db7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola mundo cruel!\n" ] } ], "source": [ "#\n", "# Uso básico\n", "#\n", "print(\"Hola mundo cruel!\")" ] }, { "cell_type": "code", "execution_count": 10, "id": "2c502e23-747b-474e-b62c-ced441ec4a90", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Holamundocruel!\n" ] } ], "source": [ "#\n", "# Concatenación de caracteres\n", "#\n", "print(\"Hola\" + \"mundo\" + \"cruel!\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "d20e9a13-6a50-4ade-b176-bbc625dc25dd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola mundo cruel!\n" ] } ], "source": [ "print(\"Hola\", \"mundo\", \"cruel!\")" ] }, { "cell_type": "code", "execution_count": 12, "id": "da0fe5ec-64a9-411e-bfdd-feb116b3aca7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola-mundo-cruel!\n" ] } ], "source": [ "#\n", "# Por defecto, sep = \" \"\n", "#\n", "print(\"Hola\", \"mundo\", \"cruel!\", sep=\"-\")" ] }, { "cell_type": "code", "execution_count": 13, "id": "446a7831-94f0-4fb2-9e20-f79553fb3d92", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola\n", "mundo\n", "cruel!\n" ] } ], "source": [ "#\n", "# sep = retorno de carro\n", "#\n", "print(\"Hola\", \"mundo\", \"cruel!\", sep=\"\\n\")" ] }, { "cell_type": "code", "execution_count": 14, "id": "14276d16-a37b-475c-b109-cea130aed644", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola mundo cruel!>>>" ] } ], "source": [ "#\n", "# Por defecto, end = \"\\n\"\n", "#\n", "print(\"Hola\", \"mundo\", \"cruel!\", end=\">>>\")" ] }, { "cell_type": "code", "execution_count": 15, "id": "973c55c6-79f1-464c-b0b5-11b26cb7fc55", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola mundo cruel! 1.0\n" ] } ], "source": [ "float_var = 1.0\n", "\n", "print(\"Hola mundo cruel!\", float_var)" ] }, { "cell_type": "markdown", "id": "fa274fc1-6247-406d-980b-268a9706f9ab", "metadata": {}, "source": [ "## len()" ] }, { "cell_type": "code", "execution_count": 16, "id": "3cc2c576-9b81-4db0-bc16-e15b2a3a56f3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "17" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Longitud de una cadena de texto\n", "#\n", "len(\"Hola mundo cruel!\")" ] }, { "cell_type": "code", "execution_count": 17, "id": "fd77cc5c-f281-4cc8-a65c-a7f983e12c81", "metadata": {}, "outputs": [], "source": [ "#\n", "# Los flotantes (float), los enteros (int), y los\n", "# booleanos (bool) no tienen longitud\n", "#" ] }, { "cell_type": "markdown", "id": "ddbf1140-5fa1-4850-8225-c8b1c010a26b", "metadata": { "tags": [] }, "source": [ "## min() y max()" ] }, { "cell_type": "code", "execution_count": 18, "id": "780d06f5-75cc-4082-b89c-21463790ccee", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "5" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(\n", " min(1, 2, 3, 4, 5),\n", " max(1, 2, 3, 4, 5),\n", ")" ] }, { "cell_type": "markdown", "id": "d4a27912-04d4-41c5-81a8-24441c79b31d", "metadata": {}, "source": [ "## abs()" ] }, { "cell_type": "code", "execution_count": 19, "id": "fde774e3-8921-440f-bcb1-f8bd2709286e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(\n", " abs(-1),\n", " abs(0),\n", " abs(1),\n", ")" ] }, { "cell_type": "markdown", "id": "1f525fcd-2529-4b4a-ab27-5aa8460dd269", "metadata": {}, "source": [ "## round()" ] }, { "cell_type": "code", "execution_count": 20, "id": "88acc793-9ea1-4495-a3f7-75b8b945f19c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "3.142" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "5" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "-2" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "-1" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(\n", " round(3.141516),\n", " round(3.141516, 3),\n", " round(4.9),\n", " round(-1.9),\n", " round(-1.1),\n", ")" ] }, { "cell_type": "markdown", "id": "25ffd351-3611-43f2-8fbf-7bf8e053c322", "metadata": {}, "source": [ "## sorted()" ] }, { "cell_type": "code", "execution_count": 21, "id": "d6c29d5b-daa5-472b-afec-f25592668894", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['a', 'd', 'e', 'g', 'h', 'i', 'u', 'y']" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Ordenamiento de una cadena de caracteres\n", "#\n", "sorted(\"aighdyeu\")" ] }, { "cell_type": "code", "execution_count": 22, "id": "33308098-d0d9-4404-9717-69bf021fd669", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['y', 'u', 'i', 'h', 'g', 'e', 'd', 'a']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Ordenamiento inverso\n", "#\n", "sorted(\"aighdyeu\", reverse=True)" ] }, { "cell_type": "code", "execution_count": 23, "id": "1ae2aec3-8c16-496e-ad71-e4ed49dfa8e7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['A', 'E', 'Z', 'a', 'd', 'e', 'f', 'i', 'u']" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Las letras mayusculas van primero que\n", "# las minúsculas\n", "#\n", "sorted(\"AfaidEueZ\")" ] }, { "cell_type": "markdown", "id": "68d8057e-9561-4297-a8be-ae7ee3f2b7de", "metadata": {}, "source": [ "repr()\n", "---" ] }, { "cell_type": "code", "execution_count": 24, "id": "3aba3e57-7cd8-44b5-8b93-fc6c59cb41b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hola, mundo.\n" ] } ], "source": [ "#\n", "# Impresión de una cadena de texto.\n", "#\n", "s = \"Hola, mundo.\"\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 25, "id": "f22f511f-de7c-4eb5-81fb-27ab9a5d5236", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Hola, mundo.'" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Impresión del string (no print)\n", "s" ] }, { "cell_type": "code", "execution_count": 26, "id": "da4c4ee9-c120-4d3c-8a75-5ca37d8e40ec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"'Hola, mundo.'\"" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Representación interna como texto\n", "#\n", "repr(s)" ] }, { "cell_type": "code", "execution_count": 27, "id": "a0b67820-c667-4f16-9254-2666c7e17f04", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "El valor de \"x\" es 32.5, y el de \"y\" es 40000...\n" ] } ], "source": [ "#\n", "# repr() se puede usar para obtener la represntación\n", "# como de string de un objeto\n", "#\n", "x = 10 * 3.25\n", "y = 200 * 200\n", "s = 'El valor de \"x\" es ' + repr(x) + ', y el de \"y\" es ' + repr(y) + \"...\"\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 28, "id": "370bb16a-0ad5-427a-88df-5584f8608f49", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'hola, mundo, feliz\\n'\n" ] } ], "source": [ "#\n", "# print() de un repr() muestra las comillas\n", "#\n", "hello = \"hola, mundo, feliz\\n\"\n", "hellos = repr(hello)\n", "print(hellos)" ] }, { "cell_type": "code", "execution_count": 29, "id": "1e819855-4b95-400f-a02f-c9db6758d3d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"(32.5, 40000, ('a', 'b'))\"" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# La función `repr()` recibe cualquier objeto de Python\n", "#\n", "repr((x, y, (\"a\", \"b\")))" ] }, { "cell_type": "code", "execution_count": 30, "id": "8893f266-6fc2-4c0a-a764-c4a468f7f8d6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1 1 1\n", " 2 4 8\n", " 3 9 27\n", " 4 16 64\n", " 5 25 125\n", " 6 36 216\n", " 7 49 343\n", " 8 64 512\n", " 9 81 729\n", "10 100 1000\n" ] } ], "source": [ "#\n", "# Formato manual usando repr()\n", "#\n", "for x in range(1, 11):\n", " print(repr(x).rjust(2), repr(x * x).rjust(3), end=\" \")\n", " print(repr(x * x * x).rjust(4))" ] }, { "cell_type": "markdown", "id": "3d0350fc-683a-445e-bafa-28983d5d0602", "metadata": {}, "source": [ "Módulos y funciones matemáticas\n", "---" ] }, { "cell_type": "markdown", "id": "bb131dfd-2cff-492a-ae5a-fa7307ccfa28", "metadata": {}, "source": [ "La lista completa de funciones matemáticas se encuentra disponible [aquí](https://docs.python.org/3/library/math.html)." ] }, { "cell_type": "code", "execution_count": 31, "id": "2b485c96-908f-4eb8-9e47-692ccb96ff86", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.9999999970621136" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Importa la librería math\n", "#\n", "import math\n", "\n", "#\n", "# Llama la función cos en la librería math\n", "#\n", "math.cos(3.141516)" ] }, { "cell_type": "code", "execution_count": 32, "id": "0048b682-230c-4277-92ba-758c4cf62cbd", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "-0.9999999970621136" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Importación usando from\n", "#\n", "from math import cos\n", "\n", "cos(3.141516)" ] }, { "cell_type": "code", "execution_count": 33, "id": "d1172175-0e8f-4090-9e2b-fdf2f96b4c38", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9999999999999999" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum([0.1] * 10)" ] }, { "cell_type": "code", "execution_count": 34, "id": "3ee38265-6485-4278-8399-0770f70ede51", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "math.fsum([0.1] * 10)" ] }, { "cell_type": "code", "execution_count": 35, "id": "66f13661-7bad-424b-9974-4d11c23364b2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.141592653589793" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "2.718281828459045" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "inf" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#\n", "# Constantes definidas en los módulos\n", "#\n", "display(\n", " math.pi,\n", " math.e,\n", " math.inf,\n", ")" ] }, { "cell_type": "code", "execution_count": 36, "id": "6373fe55-f0ce-4f74-aa95-04f4e50812b5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "' letters :abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "' lowercase :abcdefghijklmnopqrstuvwxyz'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "' uppercase :ABCDEFGHIJKLMNOPQRSTUVWXYZ'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "' digits :0123456789'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'punctuation :!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~'" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "' whitespace : \\t\\n\\r\\x0b\\x0c'" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import string\n", "\n", "display(\n", " \" letters :\" + string.ascii_letters,\n", " \" lowercase :\" + string.ascii_lowercase,\n", " \" uppercase :\" + string.ascii_uppercase,\n", " \" digits :\" + string.digits,\n", " \"punctuation :\" + string.punctuation,\n", " \" whitespace :\" + string.whitespace,\n", ")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.7 ('.venv': venv)", "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.10.7" }, "vscode": { "interpreter": { "hash": "99683f87c1354598af39114791cc78b29c5617e49c4bfa4c5fb7492534eeeb87" } } }, "nbformat": 4, "nbformat_minor": 5 }