Está en la página 1de 48

Unidad 1

Introducción a Python y fundamentos de


programación

www.silabuz.com - hola@silabuz.com www.silabuz.com


¿QUÉ APRENDIMOS EN LA FASE PREVIA?
Curso de Selección

● Introducción al internet.
● Evolución de lenguajes de
programación.
● Python básico en modo auto
aprendizaje.
● GUI y CLIs.
● GIT.
● Replit y Github.
TEMAS DE LA CLASE

● Introducción a Python
● Instalación y configuración del entorno
de desarrollo
● Sintaxis del lenguaje
● Tipos de datos básicos
Recordando Python
Python es un lenguaje de
programación con una sintaxis
muy limpia que favorece un código
legible.

Inspirado en grupo cómico Guido van Rossum


inglés “Monty Python”
Creador
Python es popular

Hemos escuchado muchas veces esto

¿Qué indicadores tenemos sobre la popularidad de un


lenguaje de programación?
Stack Overflow Survey
Página de preguntas y
respuestas de
programación

Métricas a Marzo de 2021:

+14 millones de usuarios registrados


+21 millones de preguntas Anualmente realizan una encuesta desde el 2013.
+31 millones de respuestas
Stack Overflow Survey

Fuente: Stack Overflow Survey 2022


TIOBE Index
✅ Indicador que se actualiza mes a mes. ✅ Basado en la cantidad de ingenieros
calificados en todo el mundo, cursos y
proveedores externos.

Para el cálculo se toma en cuenta search engines como:

Fuente: TIOBE Index Septiembre 2022


TIOBE Index

Fuente: TIOBE Index Septiembre 2022


TIOBE Index

TIOBE index no es sobre:

❌ mejor lenguaje de programación

❌ lenguaje con más líneas de código escritas

Fuente: TIOBE Index Septiembre 2022


Industrias en donde aplicar PYTHON

IT Educación Producción

Ciencia Videojuegos Salud

Marketing Robots y Telecomunicaciones


automatización
Uso de Python por Dominio en empresas

Cloud Platforms eCommerce

Events Processing Social Media Platforms

Fuente: Softkraft (2021), Top companies using Python (2019)


Uso de Python por Dominio en empresas

Online Payment Systems Online Booking Systems

Music and Video Streaming Systems PropTech

Fuente: Softkraft (2021), Top companies using Python (2019)


Uso de Python por Dominio en empresas

Credit Card Payment Systems Stock Trading Platforms

Peer-to-Peer Lending Systems CRM

Enterprise Applications

Fuente: Softkraft (2021), Top companies using Python (2019)


¿Qué se puede hacer con PYTHON?
Foco del presente Bootcamp

Aplicaciones Web APIS


Aplicaciones Escritorio

Aplicaciones Móviles Machine Learning/AI Ciencia de Datos Scraping


(Kivvy)
Comparación con otros lenguajes

Fuente: Julia Micro-Benchmarks (tiempos de compilación no incluidos)


Comparación con otros lenguajes

Fuente: Programming language and compiler benchmarks


Conceptos importantes para empezar

● Compilador
● Intérprete
● Sintaxis
● Programa fuente
● Programa objeto
Conceptos Importantes para empezar

Programa
fuente Compilador Programa
objeto
Antes de la ejecución
A nivel de
implementación
Programa
fuente Intérprete Programa
objeto
a=7
print(a)
Instrucción por Ejecución
print(a-3)
instrucción
Introducción

The Zen of Python

> python “Beautiful is better than ugly.


Explicit is better than implicit.
>>> import this
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
…. ”
Introducción
Características

● Usa un intérprete

● Con tipado dinámico

● Fuertemente tipado

● Multiplataforma

● Multiparadigma
Introducción
Usa un intérprete

~
❯ python
Python 3.8.0 (default, Feb 12 2020, 23:53:43)
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 5 + 7
12
>>> print("Hola 😎")
Hola 😎
Introducción
Tipado dinámico
~
❯ python
Python 3.8.0 (default, Feb 12 2020, 23:53:43)
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = "Hola"
>>> type(a)
<class 'str'>
>>> a = 25
>>> type(a)
<class 'int'>
Introducción
Fuertemente tipado

~
❯ python
Python 3.8.0 (default, Feb 12 2020, 23:53:43)
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + "1"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Introducción

Multiparadigma

✅ Object-oriented programming (OOP)


<Programación Orientada a Objetos (POO)>

✅ Functional
<Funcional>

✅ Procedural programming
Implementaciones
Implementación: programa o entorno que brinda
soporte para la ejecución de programas escritos en
Python.

● CPython (implementación por defecto)


● Jython (para Java platform)
● IronPython (para .NET)
● PyPy (con compilador JIT)
Variables y tipos de datos
básicos
TIPOS BÁSICOS O PRIMITIVOS

Cadenas de texto Números Valores booleanos

texto = "Hola mundo" entero = 23 is_married = True


type(texto) type(entero) type(is_married)
<class 'str'> <class 'int'> <class 'bool'>

flotante = 2.5
type(flotante)
<class 'float'>

complejo = 1 + 2j
type(complejo)
<class 'complex'>
Simplificación de escritura de números

Escribir 1 millón:

# Tres formas de escribir 1 millón: # Sin embargo el tipo de dato:


type
1000000 <class 'int'>
1_000_000 <class 'int'>
1e6 <class 'float'>
Números - Enteros

Positivos: 7

Negativos: -2

Cero: 0
Números - Enteros - Sistemas

¿Has escuchado de bases


156 = 15610 diferentes a la decimal?

0b10011100 0o234 0x9c

Binario Octal Hexadecimal

156 = 100111002 = 2348 = 0x9c16


Sistema hexadecimal
Valor en Valor en
decimal hexadecimal

9 9 = 0x9c16
10 A
= 16*9 + c
11 B
= 144 + 12
12 C
= 156
13 D
14 E
15 F
Números - Enteros - Sistemas

102 101 100


Centenas Decenas Unidades

156
1 5 6
Decimal

= 100*1 + 10*5 + 1*6


= 156
Números - Enteros - Sistemas

0b10011100
27 26 25 24 23 22 21 20
Binario (128) (64) (32) (16) (8) (4) (2) (1)

1 0 0 1 1 1 0 0

15610 = 100111002
Operadores Aritméticos
OPERADOR DESCRIPCIÓN USO

+ Adición 12 + 3 = 15

- Substracción 12 - 3 = 9

* Multiplicación 12*3 = 36 Para operaciones más


complejas podemos recurrir al
/ División 12/3 = 4 módulo math

% Módulo (residuo) 16 % 3 = 1

** Potencia 12**3 = 1728

// División con resultados de 18 // 5= 3


número entero
Operadores Asignación

OPERADOR DESCRIPCIÓN

= a = 5 El valor 5 es asignado a la variable a

+= a += 5 es equivalente a a = a + 5

-= a -= 5 es equivalente a a = a - 5

*= a *= 3 es equivalente a a = a * 3

/= a /= 3 es equivalente a a = a / 3
Cadenas
Inmutables (recordar a futuro)

cadena_uno = 'Nos vemos' Comilla simple


cadena_dos = "Hola" Comilla doble
cadena_tres = '"""Hasta luego"""
Triple comilla (simple o doble)

Se pueden añadir caracteres especiales


con \ :
\n : nueva línea
\t : tabulación.
Booleanos

True / False

Usados para las expresiones condicionales y los bucles

is_available = True a = 17

if (is_available): while (a < 5):


print(7) print(a)
a=a-2
Operadores Lógicos o Condicionales

OPERADOR DESCRIPCIÓN USO

and Devuelve True si ambos a and b


operandos son True

or Devuelve True si alguno de los a or b


operandos es True

not Devuelve True si alguno de los not a


operandos False
Operadores Relacionales

Racional
> Mayor que 3>2

< 'ABC' < 'abc'


Menor que

== Igual a 'a' == 'b'

<= Menor o Igual que 4 <= 5

>= Mayor o Igual que 'erick' >= 'Erick'


Analizando

En Python se puede encadenar comparaciones

1<2<3

2<3<2
Analizando

1 == 1

1 + 2 == 3

1 + 1.2 == 2.2

0.1 + 0.2 == 0.3


Sintaxis básica
Creando variables

a, b = 4, 2

m, n, p = 1, 2, 3

x = y = z = 10

❌ vari-able = 5 ✅ variable = 5

❌ 2variable = 5 ✅ _variable = 5
Múltiples líneas Comentarios

Opción 1: # Comentario de 1 línea


x = 1 + 7 + 5 +\
3 +2 '''
Comentario
Opción 2 de varias líneas
x = (1 + 7 + 5 + de código
3 + 2) '''
(Puede ser triple ' o triple ")
Palabras Identación
reservadas
Modo ✅
False, True, is, …. if True:
print("Hola")
Se puede obtener todas con:
Modo ❌
import keyword if True:
print("Hola")
print(keyword.kwlist)
¡Queremos verte crecer!

¿Tienes dudas?

Contacto:
hola@silabuz.com
Muchas Gracias
¡Síguenos en nuestras redes sociales!
/ Silabuz

www.silabuz.com

hola@silabuz.com

También podría gustarte