Introducción a Python para Análisis de Datos
Introducción a Python para Análisis de Datos
Módulo -1
Conceptos Básicos de Python y Programación
Introducción
• 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.
• 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.
• 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.
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.
[Link]
cuaderno.
Por lo tanto, estos lenguajes de programación de alto nivel tienen que ser traducidos a lenguaje de máquina.
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.
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
• 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
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
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
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
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.
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.
• 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
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
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–
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")
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ú
• 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
• 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
• 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
- La multiplicación y la división son la siguiente prioridad. De estas dos operaciones, cualquiera de ellas
—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
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
• 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 ( ).
• 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'.
• Ninguno
Ninguno es otro tipo de dato especial en Python. Ninguno se utiliza con frecuencia para representar la ausencia
Sangría
• En Python, los programas se estructuran a través de la indentación (FIGURA abajo)
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.
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
• 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 '''
• 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é.
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.
• 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'>
Ejemplo 2:
>>> x=int(input('ingresa un número '))
ingresa un número
12
>>> type(x)
<clase 'int'>
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.
• Argumento de palabra clave: Ellos es esencialmente una variable que almacena algún valor, que se pasa como
parámetro.
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.
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
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.
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'
Figura: (a)
• Para comprobar si dos variables se refieren al mismo objeto, puedes usar el operador is.
>>> a = 'banana'
>>> b = 'banana'
a es b
Verdadero
Falso
>>>s1 == s2 #verificar si s1 y s2 son equivalentes
Verdadero
• Si dos objetos son idénticos, también son equivalentes, pero si son equivalentes, no lo son.
necesariamente idénticos.
Sintaxis x=1
ifcondition: si x>0:
declaración 1 imprimir("positivo"
declaración 2 número
……………..
declaración n Salida:
número positivo
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
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.
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')
• 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.
• 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.
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):
• 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
• 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.
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.
loop is terminated and next statement after the loop will be executed. Thus, in this example,
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.
• 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!
• 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á.
• 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:
• 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).
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.
• 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.
• 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()
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
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.
para i en rango(5): 0 12 34
print(i, end=" ")
Programa para permitir al usuario encontrar los cuadrados de cualquier tres números
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.
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.
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.
• 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)>
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
• 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.
• 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
• 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
deffname(lista_de_argumentos): Aquí,
statement_1 def : es una palabra clave que indica que es una definición de función.
return: es una palabra clave utilizada para devolver el valor de salida. Esto
la declaración es opcional
• 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.
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
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.
• 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'>
• 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
• 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.
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
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.
• 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.
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
• *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.
• **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
Nota: bloques de declaración de la definición de función *y* **no se utilizan con args y kwargs.
• 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.
[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
Banco de Preguntas
Q.
Preguntas
No.
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```"}
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