0% encontró este documento útil (0 votos)
8 vistas38 páginas

Introducción a Python para Análisis de Datos

Este documento proporciona una introducción y un resumen de los conceptos de Python para un curso sobre análisis de datos. Se discute por qué Python es un buen lenguaje para este curso, cómo instalar Python y las interfaces a utilizar, la terminología básica de Python como intérpretes y compiladores, cómo escribir y ejecutar un programa en Python, y las estructuras comunes de control de flujo en Python como condicionales y bucles. También cubre los identificadores de Python y los tipos de datos básicos.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas38 páginas

Introducción a Python para Análisis de Datos

Este documento proporciona una introducción y un resumen de los conceptos de Python para un curso sobre análisis de datos. Se discute por qué Python es un buen lenguaje para este curso, cómo instalar Python y las interfaces a utilizar, la terminología básica de Python como intérpretes y compiladores, cómo escribir y ejecutar un programa en Python, y las estructuras comunes de control de flujo en Python como condicionales y bucles. También cubre los identificadores de Python y los tipos de datos básicos.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Module 1 [20MCA31] Análisis de datos utilizando Python

Módulo -1
Conceptos Básicos de Python y Programación

• Variables, Palabras Clave


• Declaraciones y Expresiones
• Operadores, Precedencia y Asociatividad
• Tipos de datos, sangría, comentarios
• Leer entrada, imprimir salida
• Conversiones de Tipo, La función type( ) y el operador Is
• Instrucciones de Control de Flujo
—La declaración de control de flujo de decisión if,

—La declaración de control de flujo de decisiones if…else

La declaración de control de decisión if…elif…else


—Instrucción if anidada
—El bucle while
—El bucle for
—Las declaraciones continue y break
• Funciones Incorporadas, Módulos Comúnmente Usados
• Definición de Función y Llamada a la Función
• La sentencia de retorno y la función void
• Alcance y Tiempo de Vida de las Variables
• Parámetros por defecto, Argumentos con nombre
• *args y **kwargs, Argumentos de línea de comandos

ROOPA.H.M, Departamento de MCA, RNSIT Page 1


Módulo 1 [20MCA31] Análisis de datos usando Python

Introducción

¿Por qué elegir el lenguaje Python?


Hay muchas razones:

• Fácil de aprender− Python tiene pocas palabras clave, una estructura simple y una sintaxis claramente definida.
Esto permite al estudiante aprender el idioma rápidamente.

• Fácil de leer− El código de Python está más claramente definido y visible a la vista.

• Fácil de mantener− El código fuente de Python es bastante fácil de mantener.

• Una amplia biblioteca estándar - La mayor parte de la biblioteca de Python es muy portátil y cruzada-
plataforma compatible en UNIX, Windows y Macintosh.

• Modo interactivo− Python tiene soporte para un modo interactivo que permite la interacción
pruebas y depuración de fragmentos de código.

• Portátil− Python puede ejecutarse en una amplia variedad de plataformas de hardware y tiene el mismo
interfaz en todas las plataformas.

• Bases de datos: Python proporciona interfaces a todas las principales bases de datos comerciales.

• Escalable− Python proporciona una mejor estructura y soporte para programas grandes que otros
scripting languages.

Conversando con Python


• Antes de que podamos conversar con Python, debemos instalar primero el software de Python en el
computadora y aprender cómo empezar Python en la computadora.

• Hay múltiples IDEs (Entorno de Desarrollo Integrado) disponibles para trabajar con
Python. Algunos de ellos son PyCharm, LiClipse, IDLE, Jupyter, Spyder, etc.
• Cuando instalas Python, el editor IDLE estará disponible automáticamente. Aparte de todo esto
editors, el programa de Python también se puede ejecutar en el símbolo del sistema. Uno tiene que instalar el adecuado

IDE dependiendo de sus necesidades y del sistema operativo que están utilizando. Porque, hay
conjunto separado de editores (IDE) disponibles para diferentes sistemas operativos como Windows, UNIX, Ubuntu, Mac, etc.

• La versión básica de Python se puede descargar desde el siguiente enlace:[Link]

Python tiene un conjunto rico de bibliotecas para diversos propósitos, como el procesamiento de grandes volúmenes de datos.

análisis predictivo, computación científica, etc. Según las necesidades de uno, los paquetes requeridos
se puede descargar. Pero hay una distribución de código abierto gratuita llamada Anaconda, que simplifica

gestión de paquetes y despliegue. Por lo tanto, se sugiere a los lectores que instalen
Anaconda desde el enlace dado a continuación, en lugar de solo instalar un Python simple.

ROOPA.H.M, Dept de MCA, RNSIT Page 2


Módulo 1 [20MCA31] Análisis de datos utilizando Python

[Link]

La instalación exitosa de anaconda te proporciona Python en un símbolo del sistema, el predeterminado


editor IDLE y también un entorno de computación interactivo basado en navegador conocido como Jupyter

cuaderno.

Terminology: Interpreter and compiler


• Python es un lenguaje de alto nivel destinado a ser relativamente sencillo para los humanos.
leer y escribir y para que las computadoras lean y procesen.
• La CPU entiende un lenguaje llamado lenguaje de máquina. El lenguaje de máquina es muy
tedioso escribir porque está representado todo en ceros y unos:
001010001110100100101010000001111 11
100110000011101010010101101101 ...

Por lo tanto, estos lenguajes de programación de alto nivel tienen que ser traducidos a lenguaje de máquina.

utilizando traductores como: (1) intérpretes y (2) compiladores.


lo interpreta de inmediato.
cada línea de código puede
Intérprete generar el output
Fuente immediately
program
compilador
archivos ejecutables
(con extensiones .exe, .dll)

La diferencia entre un intérprete y un compilador se presenta a continuación:

Intérprete Compiler

Traduce una declaración del programa a la vez, escaneando todo el programa y traduciéndolo.
tiempo. en su totalidad en código de máquina.

Toma menos tiempo analizar el Toma mucho tiempo analizar el


código fuente pero el tiempo total de ejecución
es más lento. es comparativamente más rápido.

Generates intermediate object code which


No intermediate object code is generated, requiere más conectividad, por lo tanto requiere
por lo tanto son eficientes en cuanto a memoria.
más memoria.

ROOPA.H.M, Departamento de MCA, RNSIT Page 3


Módulo 1 [20MCA31] Análisis de Datos utilizando Python

Continúa traduciendo el programa hasta que genere el mensaje de error solo después de
se encuentra el primer error, en cuyo caso se escanea todo el programa. Por lo tanto
detiene. Por lo tanto, depurar es fácil. La depuración es comparativamente difícil.

Lenguaje de programación como Python, Ruby Lenguaje de programación como C, C++ usar
utiliza intérpretes. compiladores.

Escribiendo un programa

• El programa se puede escribir utilizando un editor de texto.


• Escribir las instrucciones de Python en un archivo, que se llama ascript. Por convención, Python
los scripts tienen nombres que terminan en .py.

• Para ejecutar el script, debes decirle al intérprete de Python el nombre del archivo. En un
en la ventana de comandos, escribirías python [Link] de la siguiente manera:

$ [Link]
print('¡Hola mundo!')
$ [Link]
¡Hola mundo!
El “$” es el símbolo del sistema operativo, y el “cat [Link]” nos está mostrando que el archivo
"[Link]" tiene un programa de una línea en Python para imprimir una cadena. Llamamos al intérprete de Python

y dígale que lea su código fuente del archivo "[Link]" en lugar de solicitarnos líneas
del código Python

Ejecución del Programa

La ejecución del programa Python implica 2 pasos:


Compilación
—Intérprete

Compilación
El programa se convierte en código de bytes. El código de bytes es un conjunto fijo de instrucciones que representan

aritmética, comparación, operaciones de memoria, etc. Puede correr en cualquier sistema operativo y

ROOPA.H.M, Dept de MCA, RNSIT Page 4


Módulo 1 [20MCA31] Análisis de datos usando Python

hardware. Las instrucciones de código de byte se crean en el archivo .pyc. El compilador crea un
directorio llamado __pycache__ donde se almacena el archivo .pyc.

Interpreter
El siguiente paso implica convertir el código de bytes (.pyc) en código de máquina. Este paso es
necesario ya que la computadora solo puede entender código de máquina (código binario). Python Virtual

La máquina (PVM) primero entiende el sistema operativo y el procesador en la computadora y luego


lo convierte en código de máquina. Además, estas instrucciones de código de máquina son ejecutadas por

processor and the results are displayed.

Controles de flujo

Hay algunos patrones conceptuales de bajo nivel que usamos para construir programas. Estos
las construcciones no son solo para programas de Python, son parte de todos los lenguajes de programación

desde el lenguaje de máquina hasta los lenguajes de alto nivel. Se enumeran de la siguiente manera:

• Ejecución secuencial: Realizar declaraciones una tras otra en el orden en que están.
encontrado en el guion.
• Ejecución condicional: Verificar ciertas condiciones y luego ejecutar o omitir una secuencia
de declaraciones. (Ej: declaraciones con if-elif-else)
• Ejecución repetida: Realizar un conjunto de declaraciones repetidamente, generalmente con algún
variación. (Ej: declaraciones con for, bucle while)
• Reutilizar: Escriba un conjunto de instrucciones una vez y asígnele un nombre y luego reutilícelas.
instrucciones según sea necesario a lo largo de tu programa. (Ej: declaraciones en funciones)

Identificadores

• Un identificador de Python es un nombre utilizado para identificar una variable, función, clase, módulo u otro
un objeto. Un identificador comienza con una letra de A a Z o de a a z o con un guion bajo (_) seguido de cero

o más letras, guiones bajos y dígitos (0 a 9).


• Python no permite caracteres de puntuación como @, $, y % dentro de los identificadores. Python
es un lenguaje de programación sensible a mayúsculas y minúsculas. Por lo tanto, Manpower y manpower son dos diferentes

identificadores en Python.
• Aquí hay convenciones de nomenclatura para identificadores de Python
Los nombres de clase comienzan con una letra mayúscula. Todos los demás identificadores comienzan con una letra minúscula.

carta.
Comenzar un identificador con un único guion bajo delante indica que el identificador es
privado.

ROOPA.H.M, Departamento de MCA, RNSIT Page 5


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Iniciar un identificador con dos guiones bajos indica un identificador fuertemente privado.
Si el identificador también termina con dos guiones bajos, el identificador es un idioma.
nombre especial definido.

Variables, Keywords

Variables
• Una variable es un lugar nombrado en la memoria donde un programador puede almacenar datos y más tarde
recupera los datos usando la variable "nombre"
• Una declaración de asignación crea nuevas variables y les da valores.
• En python, una variable no necesita ser declarada con un tipo específico antes de su uso. El tipo de ella
será decidido por el valor asignado a él.
Valores y tipos
Un valor es una de las cosas básicas con las que trabaja un programa, como una letra o un número.

Considere un ejemplo, consiste en enteros y cadenas, flotantes, etc.


>>> print(4)
4
>>> message = 'And now for something completely different'
>>> n = 17
>>> pi = 3.1415926535897931

• El ejemplo anterior hace tres asignaciones.


—El primero asigna una cadena a una nueva variable llamada mensaje.
El segundo asigna el entero 17 a n
El tercero asigna el valor (aproximado) de π a pi.

• Para mostrar el valor de una variable, puedes usar una declaración de impresión:
>>> print(n)
17
>>> print(pi)
3.141592653589793
• El tipo de una variable es el tipo del valor al que se refiere en el ejemplo anterior
>>> type(mensaje)
<clase 'str'> #tipo se refiere a cadena
>>> tipo(n)
<clase 'int'> #tipo se refiere a entero
>>> tipo(pi)
<clase 'float'> #tipo se refiere a flotante

ROOPA.H.M, Departamento de MCA, RNSIT Page 6


Módulo 1 [20MCA31] Análisis de datos usando Python

• Reglas a seguir al nombrar las variables.


Los nombres de las variables pueden contener letras, números y el guion bajo.
Los nombres de las variables no pueden contener espacios ni otros caracteres especiales.

—Los nombres de las variables no pueden comenzar con un número.

—Los casos importan—por ejemplo, temp y Temp son diferentes.


Las palabras clave no se pueden utilizar como nombres de variable.

• Ejemplos de nombres de variables válidos son: Spam, huevos, spam23, _velocidad


• Los nombres de las variables pueden ser arbitrariamente largos. En este caso, el carácter de subrayado (_) puede aparecer en un
nombre. Ej: mi_primer_variable.
• Dado que Python es sensible a las mayúsculas, el nombre de la variable sample es diferente de SAMPLE.
• Los nombres de las variables pueden comenzar con un carácter de subrayado, pero generalmente evitamos hacer esto.
a menos que estemos escribiendo código de biblioteca para que otros lo utilicen.

• Ejemplos de nombres de variables inválidos se enumeran a continuación


>>> 76trombones = 'big parade' #ilegal porque comienza con un número
Error de sintaxis: sintaxis inválida

>>> más@ = 1000000 # ilegal porque contiene un carácter ilegal, @.


SyntaxError: sintaxis inválida

>>> class = 'Advanced' # class es una de las palabras clave de Python

SyntaxError: sintaxis inválida

Palabras clave
Las palabras clave son una lista de palabras reservadas que tienen un significado predefinido. Las palabras clave son especiales.

vocabulario y no pueden ser utilizados por los programadores como identificadores para variables, funciones, constantes

o con cualquier nombre de identificador. Intentar usar una palabra clave como nombre de identificador causará una

error. La siguiente tabla muestra las palabras clave de Python.

y del de Ninguno Verdadero def lambda


como elif global no local Intenta elevar devuelve
afirmar else si no Mientras finalmente
romper excepto importar o con es
clase Falso en pasar rendimiento continuar

ROOPA.H.M, Departamento de MCA, RNSIT Page 7


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Declaraciones y Expresiones

Statement
• Una sentencia es una unidad de código que el intérprete de Python puede ejecutar.
• Hemos visto dos tipos de declaraciones:
— Declaración de asignación: Asignamos un valor a una variable utilizando la declaración de asignación
(=). Un tarea declaración consiste de un expresión en el
el lado derecho y una variable para almacenar el resultado. En python, hay una característica especial para

asignaciones múltiples, donde más de una variable puede ser inicializada en una sola
declaración.
Ex: str=”google”
x = 20 + y
a, b, c = 2,“B”, 3.5
print es una función que toma una cadena o variable como argumento para mostrarla
en la pantalla.
A continuación se muestran ejemplos de declaraciones–

>>> x=5 #declaración de asignación

>>> x=5+3 # declaración de asignación

>>> imprimir(x) declaración de impresión

Argumentos opcionales con la declaración print:

sep: Python insertará un espacio entre cada uno de los argumentos de la función print. Hay un
argumento opcional llamado sep, abreviatura de separador, que puedes usar para cambiar ese espacio a
algo más. Por ejemplo, usando sep=':' se separarían los argumentos por dos puntos y sep='##'
separar los argumentos por dos signos de libra.
>>> print("a","b","c","d",sep=";")
a;b;c;d

fin: La función de impresión avanzará automáticamente a la siguiente línea. Por ejemplo, lo siguiente
se imprimirá en dos líneas:

código salida
print("A") A
imprimir("B") B
imprimir("C",fin=" ") CE
imprimir("E")

ROOPA.H.M, Departamento de MCA, RNSIT Page 8


Módulo 1 [20MCA31] Análisis de Datos usando Python

Expresiones
Una expresión es una combinación de valores, variables y operadores. Un valor por sí mismo es
se considera una expresión, y también lo es una variable, por lo que las siguientes son todas expresiones legales. Si tú

escribe una expresión en modo interactivo, el intérprete la evalúa y muestra el resultado:


>>> x=5
>>> x+1
6

Operadores, Precedencia y Asociatividad

• Los operadores son símbolos especiales que representan cálculos como la suma y la multiplicación.
Los valores a los que se aplica el operador se llaman operandos.
• Aquí hay una lista de operadores aritméticos
Operador Significado Ejemplo
+ Adición Suma= a+b
- Sustracción Diff = a-b
División a=2
/ b=3
div=a/b
(div tendrá un valor de 1.3333333)
Suelo División – F = a//b
// devuelve solo entero A= 4//3 (X tomará un valor de 1)
parte del cociente después
división
% Módulo–residuo A= a %b
después (Resto de dividir a entre b)
División
** Exponente E = x** y
(significa x elevado a la y)
• Los operadores de comparación relacional se utilizan para verificar la relación (como menor que,
mayor que etc) entre dos operandos. Estos operadores devuelven un valor booleano ya sea Verdadero
o Falso.
• OperadoresDeAsignación: Aparte del operador de asignación simple = que se utiliza para asignar
Para asignar valores a variables, Python proporciona operadores de asignación compuesta.

• Por ejemplo,
declaraciones Compuesto
declaración
x=x+y x += y
y=y//2 y//=2

ROOPA.H.M, Departamento de MCA, RNSIT Page 9


Módulo 1 [20MCA31] Análisis de datos utilizando Python

• LogicalOperators: The logical operatorsand, or, notare used for comparing or negating the
valores lógicos de sus operandos y devolver el valor lógico resultante. Los valores de los
los operandos sobre los que operan los operadores lógicos se evalúan como Verdadero o Falso. El resultado de

el operador lógico siempre es un valor booleano, Verdadero o Falso.

Operadores Declaración Comments Ejemplo


Y x > 0 y x < 10 es verdadero solo si x es mayor Ex1:>>> x=5
mayor que 0 y menor que 10 >>> x>0 y x<10
Verdadero
Ex2:>>> x= -5
>>> x>0 y x<10
Falso
O n%2==0 o es verdadero solo si cualquiera >>> n=2
n%3==0 la condición es verdadera >>>n%2==o n%3==0
Verdadero
No no(x>y) niega Booleano >>> x=5
expression >>> x > 0 y x < 10
Verdadero
no x
Falso

Precedencia y Asociatividad (Orden de operaciones)


• Cuando una expresión contiene más de un operador, la evaluación de los operadores depende
sobre la precedencia de los operadores.

• Los operadores de Python siguen la regla de precedencia (que se puede recordar como PEMDAS) como
given below :
Los paréntesis tienen la mayor precedencia en cualquier expresión. Las operaciones dentro de

los paréntesis se evaluarán primero.


La exponenciación tiene la segunda precedencia. Pero, es asociativa a la derecha. Es decir, si hayson dos
las operaciones de exponenciación de manera continua, se evaluará de derecha a izquierda (a diferencia de la mayoría

de otros operadores que se evalúan de izquierda a derecha). Por ejemplo

>>> imprimir(2**3**2) #Es 512 es decir,

- La multiplicación y la división son la siguiente prioridad. De estas dos operaciones, cualquiera de ellas

viene primero en la expresión se evalúa.

>>> print(5*2/4) #multiplicación y luego división


2.5
>>> print(5/4*2) #división y luego multiplicación 2.5

ROOPA.H.M, Dept de MCA, RNSIT Page 10


Módulo 1 [20MCA31] Análisis de Datos utilizando Python

—La adición y la sustracción tienen la menor prioridad. De estas dos operaciones, cualquiera que
aparece primero en la expresión que se evalúa, es decir, se evalúan de izquierda a derecha.

Ejemplo : x = 1 + 2 ** 3 / 4 * 5

Tipos de datos, Sangrado, Comentarios

Tipos de datos

Los tipos de datos especifican el tipo de datos como números y caracteres que se deben almacenar y manipular.

dentro de un programa.
Los tipos de datos básicos de Python son

• Números
• Booleano
• Cadenas
• lista
• tupla
• diccionario
• Ninguno

• Números
Los enteros, los números de punto flotante y los números complejos pertenecen a la categoría de números en Python.

Se definen como int, float y complejos en Python. Los enteros pueden ser de cualquier longitud; es
solo limitado por la memoria disponible. Un número de punto flotante es preciso hasta 15 decimales
lugares. Los enteros y los números de punto flotante se separan por puntos decimales. 1 es un entero, 1.0 es

número de punto flotante. Los números complejos se escriben en la forma x + yj, donde x es la parte real

parte y es la parte imaginaria.


• Booleano
Los booleanos pueden no parecer muy útiles al principio, pero son esenciales cuando comienzas a usar
declaraciones condicionales. El valor booleano es, ya sea Verdadero o Falso. Los valores booleanos, Verdadero y

Falsos se tratan como palabras reservadas.

ROOPA.H.M, Departamento de MCA, RNSIT Page 11


Módulo 1 [20MCA31] Análisis de datos usando Python

• Cadenas
Una cadena consiste en una secuencia de uno o más caracteres, que pueden incluir letras, números,
y otros tipos de caracteres. Una cadena también puede contener espacios. Puedes usar comillas simples o
comillas dobles para representar cadenas y también se llama un literal de cadena. Las cadenas multin línea pueden ser

denotados usando comillas triples, ''' o " " ". Estos son valores fijos, no variables que tú literalmente
proveer en tu guion.
Por ejemplo,
Esto es una cadena de comillas simples
Esta es una cadena de comillas dobles
3. >>> s = '''Esto
es multilínea
string'''
• Lista
Una lista se forma (o crea) colocando todos los elementos dentro de corchetes cuadrados [ ]
separados por comas. Puede tener cualquier número de elementos y pueden o no ser diferentes
tipos (entero, flotante, cadena, etc.).
Example : List1 = [3,8,7.2,"Hello"]

• Tupla
Una tupla se define como una colección ordenada de objetos de Python. La única diferencia entre la tupla
y la lista es que las tuplas son inmutables, es decir, las tuplas no se pueden modificar una vez creadas. Es
representado por una clase de tupla. podemos representar tuplas usando paréntesis ( ).

Example: Tuple = (25,10,12.5,"Hello")

• Diccionario
Un diccionario es una colección desordenada de valores de datos, que se utiliza para almacenar valores de datos como un

mapa, que, a diferencia de otros tipos de datos que solo contienen un único valor como elemento, un

El diccionario consiste en un par clave-valor. La clave-valor se proporciona dentro del diccionario para formarlo.

más optimizado. En la representación de un tipo de datos de diccionario, cada par clave-valor durante un
El diccionario está separado por dos puntos: mientras que cada clave está separada por una 'coma'.

Example: Dict1 = {1 : 'Hello' , 2 : 5.5, 3 : 'World' }

• Ninguno
Ninguno es otro tipo de dato especial en Python. Ninguno se utiliza con frecuencia para representar la ausencia

de un valor. Por ejemplo, >>> dinero = None

ROOPA.H.M, Departamento de MCA, RNSIT Page 12


Module 1 [20MCA31] Análisis de Datos usando Python

Sangría
• En Python, los programas se estructuran a través de la indentación (FIGURA abajo)

Figura: Bloques de código e indentación en Python.


• Normalmente, esperamos indentación de cualquier código de programa, pero en Python es un requisito y
no es una cuestión de estilo. Este principio hace que el código se vea más limpio y más fácil de entender

y leer.

• Any statements written under another statement with the same indentation is interpreted to
pertenecen al mismo bloque de código. Si hay una siguiente declaración con menos sangría hacia la izquierda,
entonces solo significa el final del bloque de código anterior.

• En otras palabras, si un bloque de código tiene que estar profundamente anidado, entonces las declaraciones anidadas necesitan ser
indentado aún más a la derecha. En el diagrama anterior, el Bloque 2 y el Bloque 3 están anidados bajo
Bloque 1. Normalmente, se utilizan cuatro espacios en blanco para la sangría y se prefieren sobre las tabulaciones.

La indentación incorrecta resultará en un Error de Indentación.

Comentarios
•A medida que los programas se vuelven más grandes y complicados, se vuelven más difíciles de leer. Formal

los lenguajes de programación son muchos, y a menudo es difícil mirar un fragmento de código y averiguar

qué está haciendo, o por qué.

• Por esta razón, es una buena idea agregar notas a tus programas para explicar en lenguaje natural.
lo que el programa está haciendo. Estas notas se llaman comentarios, y en Python comienzan con
el símbolo #
Ex1.#Este es un comentario de una sola línea

Ex2.''' Esto es un
múltiples líneas
comentario '''

ROOPA.H.M, Departamento de MCA, RNSIT Page 13


Módulo 1 [20MCA31] Análisis de datos utilizando Python

• Los comentarios son más útiles cuando documentan características no obvias del código. Es
razonable suponer que el lector puede deducir lo que hace el código; es mucho más
útil para explicar por qué.

Leer entrada, imprimir salida

Lectura de entrada

Python proporciona una función incorporada llamada input que obtiene la entrada del teclado. Cuando esto
se llama a la función, el programa espera la entrada del usuario. Cuando el usuario presiona la tecla Enter,
el programa se reanuda y la entrada devuelve el valor del usuario como una cadena.

Por ejemplo
>>> inp = entrada()
Bienvenido al mundo de Python
>>> print(inp)
Bienvenido al mundo de Python

• Es una buena idea tener un mensaje de aviso que informe al usuario sobre qué ingresar como valor.
Puedes pasar ese mensaje de aviso como un argumento a la función de entrada.

>>>x=input('Por favor, introduce un texto: ')


Por favor, ingrese algún texto:
Roopa
>>> print(x)
Roopa
• La secuencia \n al final del aviso representa un salto de línea, que es un carácter especial
eso provoca un salto de línea. Por eso la entrada del usuario aparece debajo del aviso.

• Si esperas que el usuario ingrese un entero, puedes intentar convertir el valor de retorno a int usando
la función int()
Example1:
¿Cuántos días hay en una semana?
>>> days = input(prompt)
¿Cuántos días hay en una semana?
7
>>> tipo(días)
<clase 'str'>

#por defecto el valor se trata como cadena

Ejemplo 2:
>>> x=int(input('ingresa un número '))
ingresa un número
12
>>> type(x)
<clase 'int'>

ROOPA.H.M, Dept de MCA, RNSIT Page 14


Módulo 1 [20MCA31] Análisis de datos usando Python

Imprimir salida
Operador de formato

• El operador de formato, % nos permite construir cadenas, reemplazando partes de las cadenas con el
datos almacenados en variables.

• Cuando se aplica a enteros, % es el operador de módulo. Pero cuando el primer operando es una cadena,
% es el operador de formato.
• Por ejemplo, la secuencia de formato "%d" significa que el operando debe ser formateado como un
entero (d significa 'decimal'):
Ejemplo 1:
>>> camellos = 42
'%d' % dromedarios
42
• Una secuencia de formato puede aparecer en cualquier parte de la cadena, por lo que puedes incrustar un valor en un

sentence:
Ejemplo 2 :
>>> camellos = 42
He avistado %d camellos.
He avistado 42 camellos.
• Si hay más de una secuencia de formato en la cadena, el segundo argumento tiene que ser un
tupla. Cada secuencia de formato se empareja con un elemento de la tupla, en orden.
• El siguiente ejemplo utiliza “%d” para formatear un entero, “%g” para formatear un número de punto flotante
, y “%s” para formatear una cadena:

Ejemplo 3:
En %d años he visto %g %s.
En 3 años he avistado 0.1 camellos.

Función de formato
format(): es uno de los métodos de formateo de cadenas en Python3, que permite múltiples
sustituciones y formateo de valores. Este método nos permite concatenar elementos dentro de una cadena
a través del formato posicional.
Dos tipos de Parámetros:
—argumento_posicional
argumento_clave
• Argumento posicional: Puede ser enteros, constantes numéricas en punto flotante, cadenas, caracteres
e incluso variables.

ROOPA.H.M, Departamento de MCA, RNSIT Page 15


Módulo 1 [20MCA31] Análisis de datos utilizando Python

• Argumento de palabra clave: Ellos es esencialmente una variable que almacena algún valor, que se pasa como
parámetro.

Para demostrar el uso de formatters con argumentos clave posicionales.


Posicional argumentos {0} college{1} departamento
se colocan en orden .format("RNSIT","EC")

Colegio RNSIT departamento de EC

Reverso el índice {1} departamento {0} colegio


.formato("RNSIT", "EC")
números con el
parámetros de el Departamento de EC del colegio RNSIT
marcadores de posición
Posicional argumentos Cada {} debería conocer el uso de {} {}
no están especificados. Por programación en python y {}.format("programador",
por defecto comienza ["Abierto","Fuente","Sistemas Operativos"]
posicionamiento desde cero Todo programador debería conocer el uso de software de código abierto

programación y sistemas operativos

Utiliza los números de índice Cada {3} debería conocer el uso de {2} {1}
de los valores a cambiar programación y {0} programador, Abierto
el orden que ellos Fuente
aparecer en la cadena Todos los sistemas operativos deberían conocer el uso de Source.

Programación abierta y programador

Los argumentos de palabra clave son imprimir("Departamento de EC Sección 'D' {college}"


llamado por su palabra clave .format("6", college="RNSIT")
name Departamento de EC sección 6 'D' RNSIT

f-strings
Las cadenas formateadas o f-strings se introdujeron en Python 3.6. Una f-string es un literal de cadena que es
prefijado con “f”. Estas cadenas pueden contener campos de reemplazo, que son expresiones encerradas
dentro de llaves {}. Las expresiones se reemplazan con sus valores.

Ejemplo:>>>a=10
>>>print(f"el valor es {a}")
el valor es 10

ROOPA.H.M, Departamento de MCA, RNSIT Page 16


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Conversiones de Tipo, La función type( ) y el operador Is

Funciones de conversión de tipo

Python también proporciona funciones incorporadas que convierten valores de un tipo a otro.
Tabla: Funciones de conversión de tipo

TipoDeDato Ejemplo
Ex:1>>> int('32')
32
Ex:2>>> int('Hola')
ValueError: literal inválido para int() con base 10:
int() Hola
Ej:3>>>int(3.9999)
3
Ex:4>>> int(-2.3)
-2
Ex1 : >>>float(32)
flotar() 32.0
Ex2 : float('3.124')
3.124
Ex1 : >>>str(32)
str() ‘32’
Ex2 : >>> str(3.124)
13.124
• int puede convertir valores de punto flotante a enteros, pero no redondea; simplemente los corta.
parte fraccionaria.

• float convierte enteros y cadenas a números de punto flotante.


• str convierte su argumento a una cadena.

La función type()
• se llama a la función tipo para conocer el tipo de dato del valor. La expresión entre paréntesis es
llamado el argumento de la función. El argumento es un valor o variable que estamos pasando
como entrada a la función.
Ejemplo: >>> tipo(33)
<clase 'int'>

Es operador
• Si ejecutamos estas instrucciones de asignación:
a = 'banana'
b = 'banana'

ROOPA.H.M, Departamento de MCA, RNSIT Page 17


Módulo 1 [20MCA31] Análisis de datos usando Python

Figura: (a)

• Sabemos que a y b se refieren a una cadena, pero no sabemos si se refieren a la


same string. There are two possible states, shown in Figure (a).
• In one case, a and b refer to two different objects that have the same value. In the second
En este caso, se refieren al mismo objeto. Es decir, a es un nombre de alias para b y viceversa. En otras
las palabras, estos dos se refieren a la misma ubicación de memoria.

• Para comprobar si dos variables se refieren al mismo objeto, puedes usar el operador is.

>>> a = 'banana'
>>> b = 'banana'
a es b
Verdadero

• Cuando dos variables se refieren al mismo objeto, se llaman objetos idénticos.


• Cuando dos variables se refieren a objetos diferentes, pero contienen el mismo valor, son
conocidos como objetos equivalentes.

s1=input("Introduce una cadena:")


>>>s2= entrada(“Ingresa una cadena:”)
>>>s1 es s2 #verifica que s1 y s2 sean idénticos

Falso
>>>s1 == s2 #verificar si s1 y s2 son equivalentes

Verdadero

• Aquí s1 y s2 son equivalentes, pero no idénticos

• Si dos objetos son idénticos, también son equivalentes, pero si son equivalentes, no lo son.
necesariamente idénticos.

ROOPA.H.M, Departamento de MCA, RNSIT Page 18


Módulo 1 [20MCA31] Análisis de Datos utilizando Python

Declaraciones de Control de Flujo

Una declaración condicional le da al desarrollador la capacidad de verificar condiciones y cambiar el


comportamiento del programa en consecuencia. La forma más simple es la declaración if:
1) La declaración de control de flujo de decisión if

Sintaxis x=1
ifcondition: si x>0:
declaración 1 imprimir("positivo"
declaración 2 número
……………..
declaración n Salida:
número positivo

• La expresión booleana después de la palabra clave if se llama la condición.


• La instrucción if consiste en una línea de encabezado que termina con el carácter de dos puntos (:) seguida de un
bloque con sangría. Las declaraciones como esta se llaman declaraciones compuestas porque se extienden

a través de más de una línea.


• Si la condición lógica es verdadera, entonces el bloque de declaraciones se ejecuta. Si la lógica
la condición es falsa, el bloque indentado se omite.
2) La declaración de control de flujo de decisión if…else (ejecución alternativa)

Una segunda forma de la declaración if es la ejecución alternativa, en la que hay dos posibilidades y
la condición determina cuál se ejecuta como se muestra en el diagrama de flujo a continuación.

La sintaxis se ve así:
Sintaxis:

ifcondition :
declaraciones
else:
declaraciones

Ejemplo:
x=6
si x%2 == 0:
print('x es par')
else :
print('x es
impar') Figura : lógica Si-Entonces-Sino

ROOPA.H.M, Departamento de MCA, RNSIT Page 19


Módulo 1 [20MCA31] Análisis de datos utilizando Python

3) La declaración de control de decisión if…elif…else (condicionales encadenados)

Si hay más de dos posibilidades y necesitamos más de dos ramas. Una forma de
expresar un cálculo como un condicional encadenado. elif es una abreviatura de 'de lo contrario, si'. Nuevamente,
exactamente una rama será ejecutada como se muestra en el diagrama de flujo a continuación.

Figura: Lógica Si-Entonces-SiNo

Sintaxis Example
ifcondition1: x=1
Declaración y=6
elifcondición2: si x < y:
Declaración x es menor que y
.................... elif x > y:
elifcondition_n: x es mayor que y
sino:
Declaración
x e y son iguales
sino:
Declaración Output:
X es menor que y
4) Instrucción if anidada
• The conditional statements can be nested. That is, one set of conditional statements can be
anidado dentro del otro.
• Consideremos un ejemplo, la declaración condicional externa contiene dos ramas.

Ejemplo Output:
x=3 x es menor que y
y=4
si x == y:
imprimir('x e y son iguales')
sino:
si x < y:
print('x es menor que y')
else:
imprimir('x es mayor que y')

ROOPA.H.M, Dept de MCA, RNSIT Page 20


Módulo 1 [20MCA31] Análisis de datos usando Python

La primera rama contiene una declaración simple.


La segunda rama contiene otra declaración if, que tiene dos ramas propias.
Esas dos ramas son ambas declaraciones simples, aunque podrían haber sido
las declaraciones condicionales así como se muestra en el diagrama de flujo a continuación.

• Las condicionales anidadas hacen que el código sea difícil de leer, a pesar de que hay una correcta
sangrías. Por lo tanto, se aconseja utilizar operadores lógicos como y para simplificar los anidados
condicionales.

Figura: Sentencias If Anidadas

Evaluación de cortocircuito de expresiones lógicas


• Cuando Python está procesando una expresión lógica como
x >= 2 y (x/y) > 2
evalúa la expresión de izquierda a derecha. Supongamos que x=1. Debido a la definición de
y operador, si x es menor que 2, la expresión x >= 2 es Falsa y por lo tanto toda la expresión es
Falso independientemente de si (x/y) > 2 evalúa como Verdadero o Falso.

• Si Python detecta que no hay nada que ganar al evaluar el resto de una expresión lógica
expresión, detiene su evaluación y no realiza los cálculos en el resto de la lógica
expresión. Cuando la evaluación de una expresión lógica se detiene porque el valor general es
ya conocido, se llama cortocircuitar la evaluación.

• Sin embargo, si la primera parte de la expresión lógica resulta en verdadero, entonces la segunda parte tiene que ser
evaluado para conocer el resultado general. La cortocircuitación no solo ahorra el cómputo
tiempo, pero también conduce a una técnica conocida como patrón de guardianes.

ROOPA.H.M, Dept de MCA, RNSIT Page 21


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Considera los siguientes ejemplos:

Ejemplo1 Ejemplo 2 Ejemplo 3


>>> x = 6
>>> x = 6
>>> x = 1 >>> y = 0
>>> y = 2
>>> y = 0 >>> x >= 2 y (x/y) > 2
>>> x >= 2 y
>>> x >= 2 y Rastreo (llamada más reciente
(x/y) > 2
(x/y) > 2 last):
Verdadero
Falso ZeroDivisionError: división
por cero
• El primer ejemplo es verdadero porque ambas condiciones son verdaderas.
• Pero el segundo ejemplo no falló porque la primera parte de la expresión
x >= 2 se evaluó en Falso, por lo que (x/y) nunca se ejecutó debido a la regla de cortocircuito y
no hubo error.
• The third calculation failed because Python was evaluating (x/y) and y was zero, which
causa un error en tiempo de ejecución.

Podemos construir la expresión lógica para colocar estratégicamente aguardevaluación justo antes de
la evaluación que podría causar un error es la siguiente:
Considera un ejemplo,
Ejemplo 1:
>>> x = 1
>>> y = 0
>>> x >= 2 y y != 0 y (x/y) > 2
Falso

Ejemplo 2
>>> x = 6
>>> y = 0
>>> x >= 2 y y != 0 y (x/y) > 2
Falso

Ejemplo 3
>>> x >= 2 y (x/y) > 2 y y != 0
Traceback (la llamada más reciente fue la última):

Archivo "<stdin>", línea 1, en <módulo>


ZeroDivisionError: division by zero

• En la primera expresión lógica, x >= 2 es Falso, así que la evaluación se detiene en la primera condición.
• En la segunda expresión lógica, x >= 2 es Verdadero pero y != 0 es Falso, por lo que nunca alcanza el

condición (x/y).
• En la tercera expresión lógica, el y!= 0 se coloca después de la condición (x/y)>2, así que el

la expresión falla con un error.

ROOPA.H.M, Departamento de MCA, RNSIT Page 22


Módulo 1 [20MCA31] Análisis de Datos utilizando Python

• En la segunda expresión, decimos que y != 0 actúa como un aviso para asegurarnos de que solo ejecutemos

(x/y) si y no es cero.

ITERACIÓN (declaraciones de bucle)

La iteración repite la ejecución de una secuencia de código. La iteración es útil para resolver muchos
problemas de programación. La iteración y la ejecución condicional forman la base del algoritmo
construcción.

La instrucción while
• A veces, sin embargo, necesitamos repetir algo, pero no sabemos de antemano exactamente
cuántas veces tiene que repetirse, es decir, bucle indefinido. Esta es una situación cuando se usa un 'bucle while'

se utiliza.

• La sintaxis del bucle while:


whilecondition:
block_of_statements
declaraciones después del bucle

Aquí, while es una palabra clave

• El flujo de ejecución para una declaración while es el siguiente:


La condición se evalúa primero, arrojando Verdadero o Falso
—Si la condición es falsa, el bucle se termina y las declaraciones después del bucle serán
ejecutado.
Si la condición es verdadera, el cuerpo del bucle (bloque de declaraciones con sangría) será
ejecutado y luego vuelve a la evaluación de condiciones.

• Example: program to print values 1 to 5


i = 1 Output:
mientras i<=5: 1
2
imprimir(i) 3
i = i + 1 4
5
la impresión se ha completadola impresión se ha realizado

En el ejemplo anterior, la variable i se inicializa en 1. Luego se verifica la condición i <= 5. Si


la condición es verdadera, el bloque de código que contiene la declaración de impresión print(i) y el incremento
la declaración (n=n+1) se ejecuta. Después de estas dos líneas, la condición se verifica nuevamente. El
el procedimiento continúa hasta que la condición se vuelve falsa, es decir, cuando n se convierte en 6. Ahora, el mientras-

loop is terminated and next statement after the loop will be executed. Thus, in this example,

ROOPA.H.M, Departamento de MCA, RNSIT Page 23


Módulo 1 [20MCA31] Análisis de datos usando Python

el bucle se itera 5 veces.

También ten en cuenta que, la variable se inicializa antes de comenzar el bucle y se incrementa dentro de él.
el bucle. Tal variable que cambia su valor en cada iteración y controla el total
la ejecución del bucle se llama variable de iteración o variable de contador. Si la variable de conteo es
no se actualiza correctamente dentro del bucle, entonces el bucle puede entrar en un bucle infinito.

Bucles infinitos con ruptura

• Los bucles infinitos son las declaraciones de bucle que itera un número infinito de veces donde el
la condición permanece siempre verdadera.

• Consideremos un ejemplo:
n = 10
mientras True:
print(n, end='')
n = n - 1
¡Hecho!

• Aquí, la condición siempre es verdadera, lo que nunca terminará el bucle. A veces, el


la condición se da de tal manera que nunca se volverá falsa y, por lo tanto, al restringir la
control del programa para salir del bucle. Esta situación puede ocurrir debido a un error
condición o debido a no actualizar la variable contador.

• Por lo tanto, para superar esta situación, se utiliza la declaración break. La declaración break puede ser

se utiliza para salir de un bucle for o while antes de que el bucle termine.

• Aquí hay un programa que permite al usuario ingresar hasta 10 números. El usuario puede detenerse antes.
ingresando un número negativo.
mientras True: Output:
Ingresa un número: 23
num = eval(input('Ingrese un número: '))
23
si num < 0: Introduce un número: 34
34
romper Ingrese un número: 56
imprimir(num) 56
Introduce un número: -12

• En el ejemplo anterior, observe que la condición se mantiene dentro del bucle de tal manera que, si el
la entrada del usuario es un número negativo, el bucle termina. Esto indica que, el bucle puede
terminar con solo una iteración (si el usuario da un número negativo por primera vez) o it
puede tomar miles de iteraciones (si el usuario sigue dando solo números positivos como entrada).
Por lo tanto, el número de iteraciones aquí es impredecible. Pero nos estamos asegurando de que no lo será.

ROOPA.H.M, Departamento de MCA, RNSIT Page 24


Módulo 1 [20MCA31] Análisis de datos utilizando Python

ser un bucle infinito, en su lugar, el usuario tiene control sobre el bucle.

• Otro ejemplo de uso de while con la declaración break: programa para tomar la entrada del
usuario y repítelo hasta que escriban hecho:

mientras Verdadero: Output:


line = input('>') hola allí
si línea == 'hecho': hola allí
terminado
romper
terminado
imprimir(línea) hecho
¡Hecho! ¡Hecho!

Finalización de iteraciones con continuar

• A veces el usuario puede querer omitir algunas tareas en el bucle según la condición. Para hacerlo
se puede utilizar la declaración de continuación.

• la declaración continue salta a la siguiente iteración sin terminar el cuerpo del bucle para
la iteración actual.
• Aquí hay un ejemplo de un bucle que copia su entrada hasta que el usuario escribe "hecho" pero trata las líneas
que comienzan con el carácter de almohadilla como líneas que no deben imprimirse (algo así como comentarios en Python).

mientras True: Output:


line = input('>‘) hola ahí
si línea[0] == '#': Hola allí
continuar ># don't print this
si la línea == 'hecho': ¡Imprime esto!
romper ¡imprime esto!
imprimir(línea) hecho
¡Hecho! ¡Hecho!

Todas las líneas se imprimen excepto la que comienza con el signo de hash porque cuando el
continue se ejecuta, termina la iteración actual y salta de vuelta a la declaración while para
comenzar la siguiente iteración, omitiendo así la declaración de impresión.

Bucles definidos utilizando for

• A veces queremos recorrer un conjunto de cosas, como una lista de palabras, las líneas en un archivo.
o una lista de números. Cuando tenemos una lista de cosas para recorrer, podemos construir un
bucle definido utilizando una declaración for.

ROOPA.H.M, Dept de MCA, RNSIT Page 25


Módulo 1 [20MCA31] Análisis de datos utilizando Python

• el bucle for recorre un conjunto conocido de elementos, por lo que se ejecuta a través de tantas iteraciones como
hay elementos en el conjunto.
• There are two versions in for loop:
bucle for con secuencia
bucle for con la función range()

• Sintaxis del bucle for con secuencia:


para var en lista/secuencia :
declaraciones a ser repetidas
Aquí,
forandin -> son palabras clave

lista/secuencia -> es un conjunto de elementos sobre el cual se itera el bucle. Es decir, el el bucle se
ser ejecutado hasta que haya un elemento en la lista/secuencia
las declaraciones -> constituyen el cuerpo del bucle.

• Example :
friends = ['Roopa', 'Smaya', 'Vikas’] Output:
por nombre en amigos: Feliz Año Nuevo: Roopa
print('Feliz Año Nuevo:', nombre) Feliz Año Nuevo: Smaya
Feliz Año Nuevo: Vikas
¡Hecho!
¡Hecho!

En el ejemplo, la variable amigos es una lista de tres cadenas y el bucle for recorre
la lista y ejecuta el cuerpo una vez por cada una de las tres cadenas en la lista.
El nombre es la variable de iteración para el bucle for. El nombre de la variable cambia en cada iteración.
del bucle y controla cuando se completa el bucle for. La variable de iteración pasos
sucesivamente a través de las tres cadenas almacenadas en la variable amigos.

• El bucle for se puede usar para imprimir (o extraer) todos los caracteres en una cadena como se muestra a continuación:
para i en "Hola": Output:
print(i, end=‟\t‟) Hola

• Sintaxis del bucle for con la función range():


por variable en rango( inicio, fin, pasos):
declaraciones a ser repetidas

El inicio y el fin indican los valores de inicio y final en la secuencia, donde el fin es
excluido en la secuencia (es decir, la secuencia llega hasta end-1). El valor predeterminado de start es 0.

ROOPA.H.M, Dept de MCA, RNSIT Page 26


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Los pasos de argumento indican el incremento/decremento en los valores de la secuencia con el


el valor predeterminado es 1. Por lo tanto, el argumento pasos es opcional. Consideremos algunos ejemplos sobre

uso de la función range()


Código del programa para imprimir el mensaje múltiples veces

para i en rango(3): Hola


print('Hola') Hola
Hola
EX:2Código del programa para imprimir los números en secuencia. Aquí la variable de iteración toma la

valor de 0 a 4 excluyendo 5. En cada iteración se imprime el valor de i.

para i en rango(5): 0 12 34
print(i, end=" ")
Programa para permitir al usuario encontrar los cuadrados de cualquier tres números

para i en rango(3): Ingrese un número: 3


num = int(input('Ingrese un número:')) El cuadrado de tu número es 9
El cuadrado de tu número es Ingresa un número: 4

num*num) El cuadrado de tu número es 16

print('El bucle ya ha terminado.') Ingresa un número: 56


El cuadrado de tu número es
3136
El bucle ya está terminado.

Ej: Programa que cuenta hacia atrás desde 5 y luego imprime un mensaje.

para i en rango(5,0,-1): 5
4
imprimir(i) 3
¡Despegue! 2
uno
¡Despegue!

Funciones

• Una secuencia de instrucciones destinada a realizar una tarea independiente específica se conoce como un
función.
• Puedes pasar datos a ser procesados, como parámetros a la función. Algunas funciones pueden
devuelve los datos como resultado.

• En Python, todas las funciones se tratan como objetos, por lo que es más flexible en comparación con otros lenguajes de alto nivel.
lenguajes de nivel.
• En esta sección, discutiremos varios tipos de funciones incorporadas y funciones definidas por el usuario,
aplicaciones/usos de funciones, etc.

ROOPA.H.M, Departamento de MCA, RNSIT Page 27


Módulo 1 [20MCA31] Análisis de Datos usando Python

Tipos de funciones

• Built in functions
• Funciones definidas por el usuario

Funciones integradas
• Python ofrece una serie de funciones integradas importantes que podemos usar sin necesidad de
para proporcionar la definición de la función.

• Las funciones integradas son funciones listas para usar.


• La forma general de las funciones integradas: nombre_función(argumentos)

Un argumento es una expresión que aparece entre los paréntesis de una llamada a función y
cada argumento está separado por una coma.

Tabla: Funciones incorporadas


Funciones integradas Sintaxis/Ejemplos Comentarios

máx( ) >>>max('hola mundo') mostrar carácter que tiene


w código ASCII máximo

min( ) >>>min('hola mundo') mostrar el carácter menos


‘‘ teniendo un ASCII mínimo
código

len( ) >>>len('hola mundo') mostrar la longitud de la cadena


11
redondear( ) >>>redondear(3.8) redondear el valor con
4 argumento único.
>>>redondear(3.3)
3
>>>redondear(3.5)
4
>>>redondear( 3.141592653, 2 ) redondea el valor con 2
3.14 argumentos.
pow() >>>pow(2,4) 2^4

abs() >>>abs(-3.2) devuelve el valor absoluto


del objeto

ROOPA.H.M, Departamento de MCA, RNSIT Page 28


Módulo 1 [20MCA31] Análisis de datos usando Python

Módulos Comúnmente Usados


Funciones matemáticas

• Python tiene un módulo de matemáticas que proporciona la mayoría de las funciones matemáticas utilizadas con frecuencia.

funciones. Antes de usar esas funciones, necesitamos importar el módulo como se indica a continuación:
>>> importar matemáticas

• Esta declaración crea un objeto de módulo llamado math. Si pasamos el objeto de módulo como un
el argumento para imprimir, se muestra información sobre ese objeto:
>>> print(math)
<módulo 'math' (incorporado)>

Table : Math Functions


Ejemplos Comentarios
>>> importar matemáticas Encuentra la raíz cuadrada de
>>> [Link](3) número
1.7320508075688772
>>> [Link](30) Encuentra el seno de 30
-0.9880316240928618
>>> [Link](30) # Encuentra el coseno de 30
0.15425144988758405
>>> print([Link]) imprimir el valor de pi
3.141592653589793
>>> [Link](2) encuentra la raíz cuadrada de 2
1.4142135623730951
>>> [Link](2) encuentra el logaritmo en base e
0.6931471805599453

Números aleatorios

• La mayoría de los programas que escribimos toman valores de entrada predefinidos y producen resultados esperados.

valores de salida. Se dice que esos programas son deterministas. El determinismo suele ser algo bueno

cosa, ya que esperamos que el mismo cálculo dé el mismo resultado.


• Pero no siempre es así, para algunas aplicaciones, queremos que la computadora sea impredecible.
Los juegos son un ejemplo obvio, pero hay muchas aplicaciones.
• Hacer que un programa sea verdaderamente no determinista resulta no ser tan fácil, pero hay formas de
hazlo parecer al menos no determinista. Una de ellas es usar algoritmos que generen
números seudoaleatorios.

• La función random devuelve un flotante aleatorio entre 0.0 y 1.0 y para enteros entre (1
y 100, etc).
• Python tiene un módulo llamado random, en el cual se encuentran funciones relacionadas con los números aleatorios.

disponible.

ROOPA.H.M, Departamento de MCA, RNSIT Page 29


Módulo 1 [20MCA31] Análisis de datos utilizando Python

• Para generar números aleatorios. Considere un programa de ejemplo para la función userandom().
genera un número aleatorio entre 0.0 y 1.0, pero sin incluir 1.0. En el programa de abajo,
genera 5 números aleatorios

importar aleatorio Output:


0.11132867921152356
fori en rango(5): 0.5950949227890241
x = [Link]() 0.04820265884996877
imprimir(x) 0.841003109276478
0.997914947094958

• La función randint() toma los parámetros bajo y alto, y devuelve un entero entre
bajo y alto (incluyendo ambos).
>>> importar aleatorio
>>> [Link](5,10)
10
>>> [Link](5,10)
6
>>> [Link](5,10)
7
• Para elegir un elemento de una secuencia al azar, puedes usar choice():

>>> t = [1, 2, 3]
>>> [Link](t)
2
>>> [Link](t)
3

Definición de Función y Llamada a la Función


• Python facilita al programador definir sus propias funciones.
• La función escrita una vez se puede usar donde y cuando se requiera.
• La sintaxis de la función definida por el usuario sería:

deffname(lista_de_argumentos): Aquí,

statement_1 def : es una palabra clave que indica que es una definición de función.

statement_2 fname:is any valid name given to the function.


lista_de_arg : es la lista de argumentos que toma una función. Estos son
……………
tratados como entradas a la función desde la posición de llamada a la función.
statement_n
Puede haber cero o más argumentos para una función.
valor de retorno
las declaraciones: son la lista de instrucciones para realizar la tarea requerida.

return: es una palabra clave utilizada para devolver el valor de salida. Esto

la declaración es opcional

ROOPA.H.M, Departamento de MCA, RNSIT Page 30


Módulo 1 [20MCA31] Análisis de datos usando Python

• La primera línea en la función def fname(arg_list) se conoce como encabezado/definición de función. La


las líneas restantes constituyen el cuerpo de la función.

• El encabezado de la función se termina con dos puntos y el cuerpo de la función debe estar indentado.
• Para salir de la función, la indentación debe ser terminada.
• A diferencia de algunos otros lenguajes de programación como C, C++, etc., no hay función main() o
ubicación específica donde se debe llamar a una función definida por el usuario.

• El programador tiene que invocar (llamar) a la función donde sea necesario.


• Considere un ejemplo simple de una función definida por el usuario–

def mi_func(): Output:


print("Hola a todos")
antes de llamar a la función
print("esta es mi propia función") Hola a todos
esta es mi propia función
print("antes de llamar a la función") después de llamar a la función
myfun() #llamada de función
print("después de llamar a la función")

Llamadas a funciones

• Una función es una secuencia de instrucciones nombradas para realizar una tarea.
• Cuando definimos una función, le daremos un nombre válido y luego especificaremos las instrucciones.
para realizar la tarea requerida. Entonces, siempre que queramos hacer esa tarea, se llama a una función por

su nombre.
Considera un ejemplo,

>>> tipo(33)
<clase 'int'>
• Aquí, se llama a la función type para conocer el tipo de dato del valor. La expresión en
los paréntesis se llaman el argumento de la función. El argumento es un valor o una variable que
estamos pasando como entrada a la función.
• Es común decir que una función "toma" un argumento y "devuelve" un resultado. El resultado es
llamado el valor de retorno.
La declaración de retorno y la función void
• Una función que realiza alguna tarea, pero no devuelve ningún valor a la función que la llama es
conocida como función void. Los ejemplos de funciones definidas por el usuario considerados hasta ahora son void

funciones.

• La función que devuelve algún resultado a la función que la llama después de realizar una tarea es
conocida como función fructífera. Las funciones integradas como funciones matemáticas, aleatorias

ROOPA.H.M, Departamento de MCA, RNSIT Page 31


Módulo 1 [20MCA31] Análisis de datos utilizando Python

las funciones generadoras de números, etc., que se han considerado anteriormente son ejemplos de lo fructífero

funciones.

• Se puede escribir una función definida por el usuario para devolver un valor a la función que la llama como
mostrado en el siguiente ejemplo.

def adición(a,b): #definición de función


suma=a + b
devolver suma

x=suma(3, 3) #llamada de función


print("suma de 2 números:", x)
Output:
suma de 2 números: 6

En el ejemplo anterior, la función addition() toma dos argumentos y devuelve su suma.


la variable receptora x.

—Cuando una función devuelve algo y si no se recibe usando alguna variable, el


el valor de retorno no estará disponible más tarde.

• Cuando usamos funciones incorporadas que producen resultados son funciones fructíferas.
>>>[Link](2)
1.7320508075688772
• La función void puede mostrar algo en la pantalla o tener algún otro efecto.
realizar una acción pero no tienen un valor de retorno.
Considera un ejemplo
>>> result=print('python')
python
>>> print(resultado)
Ninguno
>>> print(type(None))
<clase 'NoneType'>

Alcance y Duración de las Variables


• No todas las variables en un programa pueden ser accesibles en todas las ubicaciones de ese programa. Este
depende de dónde hayas declarado una variable.

• El alcance de una variable determina la parte del programa donde puedes acceder a ella.
identificador particular. Hay dos ámbitos básicos de variables en Python
—Variables globales
—Variables locales

ROOPA.H.M, Departamento de MCA, RNSIT Page 32


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Variables globales vs. locales


• Las variables que se definen dentro de un cuerpo de función tienen un alcance local, y las que se definen
fuera tiene un alcance global.

• Esto significa que las variables locales solo se pueden acceder dentro de la función en la que están
declaradas, mientras que las variables globales pueden ser accedidas en todo el cuerpo del programa por todos

funciones. Cuando llamas a una función, las variables declaradas dentro de ella se traen al ámbito.

total = 0 Esta es una variable global.


# La definición de la función está aquí
def suma( arg1, arg2 ):
total = arg1 + arg2 # Aquí total es una variable local.
print("Dentro de la función total local : ", total)
devolver total

suma( 10, 20 );Ahora puedes llamar a la función de suma


print("Fuera de la función total global : ", total)
Output :
Dentro de la función total local : 30
Fuera de la función total global : 0

Parámetros Predeterminados

• Para algunas funciones, puede que desee hacer que algunos parámetros sean opcionales y utilizar valores predeterminados.
en caso de que el usuario no quiera proporcionar valores para ellos. Esto se hace con la ayuda de
valores predeterminados de argumentos.

• Los valores de argumento predeterminados se pueden especificar para los parámetros añadiendo al parámetro
en la definición de la función, el operador de asignación ( = ) seguido del valor predeterminado.

• Tenga en cuenta que el valor del argumento predeterminado debe ser una constante.
• Solo aquellos parámetros que están al final de la lista de parámetros pueden tener valores predeterminados.
valores de argumento, es decir, no puedes tener un parámetro con un valor de argumento predeterminado precediendo a un

parámetro sin un valor de argumento predeterminado en la lista de parámetros de la función. Esto se debe a que

los valores se asignan a los parámetros por posición.


Por ejemplo, def func(a, b=5) es válido, pero def func(a=5, b) no es válido.

def decir(mensaje, veces=1): Output :


imprimir(mensaje * veces) Hola
MundoMundoMundoMundoMundo
Hola
decir('Mundo', 5)

ROOPA.H.M, Dept de MCA, RNSIT Page 33


Módulo 1 [20MCA31] Análisis de datos utilizando Python

Cómo Funciona
La función llamada say se utiliza para imprimir una cadena tantas veces como se especifique. Si no suministramos un

valor, entonces por defecto, la cadena se imprime solo una vez. Logramos esto especificando un predeterminado

valor del argumento de 1 al parámetro veces. En el primer uso de decir, solo proporcionamos la cadena
y imprime la cadena una vez. En el segundo uso de say, suministramos tanto la cadena como un
argumento 5 diciendo que queremos decir el mensaje en cadena 5 veces.

Argumentos de palabra clave

• Si tienes algunas funciones con muchos parámetros y solo quieres especificar algunos de ellos.
ellos, entonces puedes dar valores a tales parámetros nombrándolos - esto se llama
argumentos de palabra clave - usamos el nombre (palabra clave) en lugar de la posición para especificar la

argumentos a la función.
• Hay dos ventajas
—uno, usar la función es más fácil ya que no necesitamos preocuparnos por el orden de los argumentos.
—Dos, podemos asignar valores solo a aquellos parámetros a los que queremos, siempre que los otros
Los parámetros tienen valores de argumento predeterminados.

def func(a, b=5, c=10):


print('a es', a, 'y b es', b, 'y c es', c)

func(3, 7)
func(25,c=24)
func(c=50, a=100)
Output:
a es 3 y b es 7 y c es 10
a es 25 y b es 5 y c es 24
a es 100 y b es 5 y c es 50

Cómo funciona
La función llamada func tiene un parámetro sin un valor de argumento predeterminado, seguido de dos
parámetros con valores de argumento predeterminados. En el primer uso, func(3, 7), el parámetro a obtiene el
valor 3, el parámetro b recibe el valor 7 y c recibe el valor predeterminado de 10. En el segundo
uso func(25, c=24), la variable a recibe el valor de 25 debido a la posición del argumento.
Luego, el parámetro c obtiene el valor de 24 debido a la nomenclatura es decir, argumentos de palabra clave. La variable b

obtiene el valor predeterminado de 5. En el tercer uso func(c=50, a=100), usamos argumentos de palabra clave para
todos los valores especificados. Tenga en cuenta que estamos especificando el valor para el parámetro c antes que para a incluso

aunque a está definido antes que c en la definición de la función.

ROOPA.H.M, Dept de MCA, RNSIT Page 34


Módulo 1 [20MCA31] Análisis de Datos usando Python

*args y **kwargs, Argumentos de Línea de Comando


• A veces es posible que desees definir una función que pueda tomar cualquier número de parámetros, es decir,
número variable de argumentos, esto se puede lograr utilizando los asteriscos.

• *args y **kwargs se utilizan principalmente como parámetros en las definiciones de funciones. *args y

**kwargs te permite pasar un número variable de argumentos a la función que llama. Aquí
un número variable de argumentos significa que el usuario no sabe de antemano cuántos
se pasarán muchos argumentos a la función llamada.
• *args como parámetro en la definición de una función te permite pasar un número variable de argumentos posicionales.

longitud de la tupla de argumentos para la función llamada.

• **kwargs como parámetro en la definición de funciones te permite pasar argumentos con palabras clave de longitud variable.
la lista de argumentos del diccionario a la función llamada. *args debe ir después de todos los posicionales

los parámetros y **kwargs deben ir al final



def total(a=5,*números,**libro_de_telefonos): Salida:
imprimir('a', a)
#iterar a través de todos los elementos en la tupla Una 10
para cada_item en números: single_item 1
imprimir('item_unico', item_unico) single_item 2
#iterar a través de todos los elementos en el diccionario single_item 3
para primera_parte, segunda_parte en telefono_libro.items(): Inge 1560
imprimir(primera_parte, segunda_parte) Juan 2231
total(10,1,2,3,Jack=1123,John=2231,Inge=1560) Jack 1123

Nota: bloques de declaración de la definición de función *y* **no se utilizan con args y kwargs.

Argumentos de Línea de Comando

• Thesysmodule proporciona una variable global llamadaargvque es una lista de texto adicional que el usuario
puede suministrar al lanzar una aplicación desde el símbolo del sistema en Windows y terminal en
OS X y Linux.
• Algunos programas esperan o permiten que el usuario proporcione información adicional.
• Example : let us consider the user supplies a range of integers on the command line. The
el programa luego imprime todos los enteros en ese rango junto con sus raíces cuadradas.

ROOPA.H.M, Dept de MCA, RNSIT Page 35


Módulo 1 [20MCA31] Análisis de datos usando Python

[Link]
from sys import argv
de matemáticas import sqrt

si len(argv) < 3:
imprimir('Proporcione un rango de valores')
sino:
por n en rango(int(argv[1]), int(argv[2]) + 1):
imprimir(n, sqrt(n))

Output:
C:\Código>[Link] 2 5
2 1.4142135623730951
3 1.7320508075688772
4 2.0
5 2.23606797749979

ROOPA.H.M, Departamento de MCA, RNSIT Page 36


Módulo 1 [20MCA31] Análisis de datos usando Python

Banco de Preguntas

Q.
Preguntas
No.

1 Explica las características de Python.

2 Give the comparison between Interpreter and compiler


3 Define python? List the standard data types of python?
4 Explicar la conversión de tipos en Python con ejemplos.

5 Escribe una nota corta sobre los tipos de datos en Python.

6 {"local_variables":"Las variables locales son aquellas que se definen dentro de una función o bloque de código y solo son accesibles dentro de ese ámbito. Por ejemplo:\n\n```python\ndef mi_funcion():\n x = 10 # x es una variable local\n print(x)\nmi_funcion() # Esto imprimirá 10\nprint(x) # Esto causará un error porque x no está definida aquí\n```","global_variables":"Las variables globales son aquellas que se definen fuera de cualquier función y pueden ser accesibles desde cualquier parte del código. Por ejemplo:\n\n```python\nx = 10 # x es una variable global\ndef mi_funcion():\n print(x) # Esto imprimirá 10\nmi_funcion()\nprint(x) # Esto también imprimirá 10\n```"}

Escribe notas cortas sobre:

7
i) Variables y declaraciones
ii) Expresiones
iii) Operador de Cadenas y Módulos
8 Explicar con un ejemplo cómo leer la entrada del usuario en python
9 Explain the different types of arithmetic operators with example.
10 Discuta la precedencia de los operadores utilizados en la evaluación de la expresión

11 Explica brevemente las declaraciones condicionales disponibles en Python.


12 Explica la sintaxis del bucle for con un ejemplo
13 ¿Cuándo usar condiciones anidadas en programación? Discutir con un ejemplo.
14 Explica las funciones fructíferas y vacías. Da ejemplos.
15 Con un ejemplo, demonstre la codificación efectiva con funciones en Python.
16 Explica el funcionamiento de las funciones definidas por el usuario en Python junto con su sintaxis.

Explica los siguientes términos


i) Expresión booleana y lógica
17 ii) Ejecución condicional y ejecución alternativa con sintaxis
iii) Condiciones encadenadas
iv) Evaluación de cortocircuito de expresiones lógicas
18 Ilustra las tres funciones de los números aleatorios con ejemplo
19 List and explain all built in math functions with example
20 Escriba una nota sobre la evaluación de cortocircuito para expresiones lógicas
Predict the output for following expression:
-11%9
21 ii) 7.7//7
(200-7)*10/5
iv) 5*2**1
22 ¿Cuál es el propósito de usar break y continue?
23 Differentiate the syntax of if...else and if...elif...else with an example.

ROOPA.H.M, Dept de MCA, RNSIT Page 37


Módulo 1 [20MCA31] Análisis de datos usando Python

22 Crea un programa en Python para una aplicación de calculadora utilizando funciones


23 Definir función. ¿Cuáles son las ventajas de usar una función?
24 Diferenciar entre funciones definidas por el usuario y funciones incorporadas.
25 Explica las funciones integradas con ejemplos en Python.
26 Explica las ventajas de *args y **kwargs con ejemplos.

ROOPA.H.M, Departamento de MCA, RNSIT Page 38

También podría gustarte