Elementos básicos de Python
Curso de Introducción al Pensamiento Computacional con Python
Contenido del curso
Felipe de Jesus Ramirez Rodriguez
Cristian Antonio García González
Miquel Muntaner Barceló
Iván Álvarez
Cristian Antonio García González
Iván Álvarez
Angel Armando Martínez Blanco
Cristian Antonio García González
Mariano Trutanich
Karl Behrens Gil
Antonio Mesa Casares
Miguel Ángel Torres Vargas
Jherom Chacon
Howerd Sarmiento
Ruben Dario Hernandez Centeno
Ricardo Agustín Moran Rivas
Cesar Eduardo Montoya Santiago
Luis Gerardo Hernández Pintor
Luis Angel José Portillo Arévalo
Kevin Garcia
Daniel Alejandro Franco Meneses
Kevin Garcia
Dulio Cutipa Mendoza
Roger Carlos Ariel Alba
Benjamin Isaias Jaramillo Garcia
Victor Inojosa
Juan Felipe Moncada Siabatto
Alejandro Giraldo Londoño
Martín Andrés Bayona
Fabio Gomez
Alejandro Marroquin Cruz
Cesar Sosa
Antonio Mesa Casares
Pedro Tambriz Och
Daniel Serna
Geronimo Jair Cambra
Rod R
Luis Raul Del Moral Contreras
Howerd Sarmiento
Anthony González (@ThonnyGeek)
Carlos Martínez
Sergio Andrés Pachón Dotor
JESUS ALBERTO CARREÑO MARTINEZ
¿Qué es un lenguaje de programación? Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y lógico de una máquina.
¿Qué tipos de lenguaje de programación existen? El lenguaje de programación es la base para construir todas las aplicaciones digitales que se utilizan en el día a día y se clasifican en dos tipos principales: lenguaje de bajo nivel y de alto nivel.
Lenguaje de programación de bajo nivel Son lenguajes totalmente orientados a la máquina. Este lenguaje sirve de interfaz y crea un vínculo inseparable entre el hardware y el software.
Lenguaje de programación de alto nivel Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones más fáciles de entender.
Lenguaje específico de dominio En desarrollo de software e ingeniería de dominio, un lenguaje específico de dominio, o "lenguaje específico del dominio", (en inglés domain-specific language, DSL) es un lenguaje de programación o especificación dedicado a resolver un problema en particular, representar un problema específico y proveer una técnica para solucionar una situación particular. El concepto no es nuevo pero se ha vuelto más popular debido al aumento del uso de modelaje específico del dominio.1
Lenguaje de propósito general Se llama lenguaje de propósito general al lenguaje de programación cuyos procedimientos, instrucciones y estructuras de datos están diseñados para resolver todo tipo de problemas.
Lenguaje de interpretados y compilados La principal diferencia entre un lenguaje compilado y uno interpretado es que el lenguaje compilado requiere un paso adicional antes de ser ejecutado, la compilación, que convierte el código que escribes a lenguaje de máquina. Un lenguaje interpretado, por otro lado, es convertido a lenguaje de máquina a medida que es ejecutado.
Ejemplos de lenguajes compilados incluyen C, C++, Java, Go y Rust, entre muchos otros. Ejemplos de lenguajes interpretados incluyen Ruby, Python y JavaScript, entre muchos otros. A todos estos lenguajes se les conoce como lenguajes de alto nivel.
1 + 1 # 1 'Platzi' / 5 # Error 'Platzi' * 3 #PlatziPlatziPlatzi #PrintStatement print('Hola mundo') 'Mr' + '. Internatuta' 2 + 2
¿Que es un objeto? Concepto, abstracción o cosa con límites bien definidos y con significado para el problema que se está manejando
#Definiendo variables my_int = 1 my_float = 1.0 my_bool = True my_none = None my_str = 'Hola' #Imprimiendo el tipo type(my_int) type(my_float) type(my_bool) type(my_none) type(my_str)
++¿Que pasa si ejecutas esto?++
1 + 1 2 - 5 2.0 * 3 6 // 2 6 // 4 6 / 4 7 % 2 2 ** 2
Resultado
>>> 1 + 1 2 >>> 2 - 5 -3 >>> 2.0 * 3 6.0 >>> 6 // 2 3 >>> 6 // 4 1 >>> 6 / 4 1.5 >>> 7 % 2 1 >>> 2 ** 2```
Muy buen aporte compañero, gracias por compartirlo!!!
Por si alguien tiene duda para que sirve el "//" y el "%" el primero hace que el numero se redondee a un entero y no deja decimal y el segundo que es el modular muestra el sobrante de la división como se ve con el 7 % 2 que caben 3 y sobra 1 para eso sirve el modular (%).
Muchisimas gracias.
Como curiosidad:
¿Qué sucede cuando sumamos True + True o True + False?
>>> True + True 2 >>> True + False 1``` Esto sucede porque internamente los booleanos True y False tienen asignados valores de 1 y 0 respectivamente. Bonus: Los booleanos se llaman así en honor a George Boole.
Muy interesante ese dato compañero tenia esas duda de porque se llamaban booleanos, muchas gracias por compartirlo.
A la orden, CriSTEM :)
Inicio de la consola desde el sistema: Inicio + R >> "cmd" Luego en la consola se puede escribir "Python3.x". Pero en mi caso funciona si escribo sólo Python. Otra forma de abrir la consola es abrir el menú Inicio y escribir "Python" y aparecerán dos opsciones: El IDLE y Python 3.x. Ahí se ejecuta prácticamente lo mismo que lo anterior.
Que buen aporte compañero!!!
gracias ! Estaba re perdido.
Les dejo mis apuntes en
Elementos básicos de Python
En esta sección veremos los elementos básicos de Python, sin embargo estaremos aprendiendo sobre los elementos básicos de cualquier lenguaje de programación.
En los lenguajes tenemos definiciones como:
Bajo nivel vs alto nivel: Bajo nivel significa que esta diseñado para las máquinas. Alto nivel por su parte es orientado a los humanos.
General vs dominio específico: Los lenguajes generales tienen todos los primitivos de Turing para poder implementar y computar cualquier tipo de algoritmo. Por otro lado los de dominio específico son lenguajes especializados a tareas muy específicas.
Interpretado vs compilado: En los lenguajes interpretados mientras corre el programa se traduce la instrucción a lenguaje máquina que para ejecutar, en cambio para los lenguajes compilados estos toman todas las instrucciones y las traduce antes a lenguaje máquina.
Python es un lenguaje de alto nivel, general e interpretado.
Los elementos básicos son:
Literales: son formas simples de inicializar objetos directamente en memoria.
literales = 1, 'abc', 2.0, True
Operadores: son los operadores algebraicos.
operadores = + / % ** = ==
Podemos interpolar literales y operadores en nuestros algoritmos. Si el significado dentro de nuestra instrucción no tiene sentido para el lenguaje nos devolverá el tipo de error que tengamos. Para iniciar en consola él interprete lo haremos escribiendo.
python3
Con esto dentro de la consola podremos escribir código de Python.
>>> 1 + 2 3 >>> 1 3.0 # error sintáctico File "<stdin>", line 1 1 3.0 ^ SyntaxError: invalid syntax >>> 5 / 'Texto' # error semántico estático Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for /: 'int' and 'str' >>> 5 * 'Texto' 'TextoTextoTextoTextoTexto' >>> print('Hello, world!') # statement o enunciado Hello, world!
Objetos, expresiones y tipos numéricos
Vamos hablar de objetos, expresiones y tipos numéricos.
Objetos: son la abstracción más alta de cualquier lenguaje de programación, son la forma en que modelamos el mundo dentro de nuestros programas. Los objetos se encuentran en memoria y podemos referenciarlas con algún tipo de variable.
Tipos: los objetos pueden ser enteros, flotantes, booleanos e incluso pueden ser objetos más complejos como el modelo de un humano con todos sus características y atributos.
Escalares vs no escalares: los escalares son datos que podemos subdividir en piezas fundamentales, estos pueden ser enteros, flotantes, etc. Los no escalares son los datos que no podemos subdividir.
>>> <objeto> <operador> <objeto> # Esta es una expresión <valor> >>> 'Estoy' + 'Programando!' # Con esta expresión 'EstoyProgramando!' # Obtenemos este valor >>> 2 + 2 # Con esta expresión 4 # Obtenemos este valor
En Python podemos ver los tipos de datos que contienen nuestros objetos (variables), para esto usamos la función Type.
>>> my_int = 1 >>> my_float = 1.0 >>> my_bool = False >>> my_none = None # Imprimiremos los tipos de nuestras variables. >>> type(my_int) <class 'int'> >>> type(my_float) <class 'float'> >>> type(my_bool) <class 'bool'> >>> type(my_none) <class 'NoneType'>
Gracias por el aporte, con tu permiso hago fork en github para obtener una copia.
WaW muy buenos apuntes. Excelente y estrella a la vez.
El álgebra modular, aritmética modular o matemática modular es un sistema aritmético para calcular los residuos resultantes entre la división de dos números enteros dónde la relación o el módulo determina una secuencia de reloj.
A mod B = (A + K * B) mod B para cualquier entero K
3 mod 10 = 3 La relación de reloj la encontramos cuándo dividimos una secuencia de enteros entre otro entero y verificamos el residuo entero
Referencias: Wikipedia Khan Academy
genial
Excelente dato
Por si alguien tiene curiosidad de saber cuáles son todos los tipos de datos que hay en python
type(True) class 'bool' type(2) class 'int' type(2.) class 'float' type([]) class 'list' type(()) class 'tuple' type("") class 'str' type({},) class 'dict' type({'h','i'}) class 'set'
en este video falto hacer los pasos para ingresar a la consola, tuve que buscar video y hacer pruebas para abrir la consola no esta claro
eso pasa al ingresar a la informática, al principio para todo buscamos vídeos aunque sea lo mas sencillo y los que ya saben asumen que no es necesario mostrar como acceder a las herramientas, pero igual en windows es tan facil como hacer click derecho sobre el icono de windows en la barra de tareas y seleccionar "power Shel"
y en mac:
1.- Haz clic en el icono "Finder"(las carpetas) situado en el Dock, luego selecciona "Aplicaciones > Utilidades" 2.-Finalmente dale doble clic al icono "Terminal"
Les comparto mis apuntes de esta clase. Apenas estoy empezando a usar este formato y estoy viendo como mejorar mis apuntes y que sean funcionales. Cualquien sugerencia es bien recibida.
En donde tomas los apuntes, genial
Dafmdev, los voy haciendo en Google Docs, solo inserté el cuadro y busqué algunas fuentes.
Ufff sufrí un montón para abrir algo tan sencillo. Solo denle windows + r y escriban allí: cmd Les va a salir una cajita negra (la consola). Allí escriban solamente " python a secas, sin el 3.7 o 3.8. A mí me funcionó así, porque cuando ponía: "python 3.8" se salía un mensaje de error.
Así se aprender y nada mejor que compartir lo aprendido.
Nunca pares de aprender
gracias por tu aportación, yo tampoco lo podía abrir haha, hasta que lo hice poniendo solamente "python", sin número de versión ni nada
El operador módulo es utilizado para obtener el residuo en una división
11 % 3 = 2
Esto por que el 11 contiene tres veces al 3, en total seria 9, y aun sobran 2 para llegar al 11... ese 2 es el residuo.
en ejemplos como este 2 % 4 = 2 en que el primer numero es menor el resultado es el mismo numero menor..
RESUMEN: ELEMENTOS BÁSICOS DE PYTHON :
Existen en general lenguajes con las siguientes propiedades:
Alto: Lenguajes optimizados para parecer el lenguaje natural, o lo más cercano al lenguaje humano. Bajo nivel: Son mas cercanos al lenguaje máquina, lenguaje binario.
Generales: Tienen todos los primitivos de Turing para poder implementar y computar cualquier algoritmo. Especificos: Lenguajes especializados a aplicaciones muy específicas.
Interpretados: Mientras corre el programa, las instrucciones se traducen al lenguaje máquina. Compilado: Se convierte antes al lenguaje máquina y luego se le entrega a la computadora.
>> Python es de alto nivel, general e interpretado
El patrón para interpolar en el lenguaje:
ERRORES : Es importante entender los errores de todo lenguaje para poder indentificarlos:
Nota: Algunos operadores funcionan entre diferentes literales.
Statements Son aquellas expresiones que son altamente funcionales, algunos permiten imprimir nuestros datos en pantalla, contar qué tipo de variables son las cosas.
numero=1 string="Nunca pares de aprender" diccionario={} arreglo=[] print(numero) print(type(numero)) print(string) print(type(string)) print(diccionario) print(type(diccionario)) print(arreglo) print(type(arreglo))
Operadores
Algunos de los operadores de python, la operación de módulo sirve para encontrar el residual de una división, sirve para saber si una división es exacta o no.
suma = 3 + 3 resta = 3-2 producto=3*4 division=3//3 modulo=25%5 print(suma,resta,producto,division,modulo)
Para saber más aquí está la documentación, donde puede apreciarse la sintáxis y la función que resuelve dicha operación.
OBJETOS, EXPRESIONES Y TIPOS NUMERICOS
Los objetos son la abstracción más alta en cualquier lenguaje de programación, son la forma en que modelamos el mundo, una cadena de texto, un mouse, una camiseta. Los objetos son valores en memoria que se referencian mediante variables.
Objetos de tipo enteros, flotantes, boleanos, vectores etc. Los tipos podemos dividirlos entre:
Un expresión de cualquier lenguaje de programación es (objeto-operador-objeto), objeto=literal. Las expresiones regresan valores.
A mi parecer, ¡este es el verdadero curso de programación básica! Cuando hacia el curso con Fredy, no sentía el por qué de muchas funcionalidades, cosas que se han complementado a lo largo de este curso. ME ENCANTA -
Con el operador modulo '%' podemos encontrar el residuo de una división: _5 % 3 = 2 _ muy útil para verificar el factor de un número
Para limpiar la consola de Python importan la libería system y mandan a llamar la función system("cls") cuando deseen limpiar la consola
from os import system system("cls")
La linea de codigo
system('cls')
Solo aplica si tienes windows. en caso de tener linux o mac debes usar la linea:
system('clear')
Exacto, lo que hace system es tomar los comandos de consola del sistema operativo que estés utilizando. Windows usa cls y linux usa clear, si no me equivoco Mac usa los mismos comandos o parecidos a Linux.
En matemática, la aritmética modular es un sistema aritmético para clases de equivalencia de números enteros llamadas clases de congruencia.
El operador módulo que se representa con % sirve para encontrar el residuo en una división. La aritmética modular es un sistema que se construye con relaciones de congruencia entre números enteros.
Para explicarlo, hay un ejemplo que encontré era con las horas del día. Suponemos que son las 16 horas (4pm) y a partir de aquí queremos sumar 135 horas, sin embargo lo que necesitamos saber es que hora es después de realizar la suma sin importar el día.
La suma daría 151 horas cierto? pero un día solo tiene 24... Bueno, aquí es donde entraría el módulo; si en la terminal ponemos 151 % 24 el resultado sería = 8, es decir, al pasar 151 horas desde las 4pm la hora del día sería las 8am.
Esto es sólo un ejemplo que encontré sobre cómo se podría usar pero parece que hay muchas aplicaciones más de las cuales no tengo idea jajaja
Álgebra modular:En matemática, la aritmética modular es un sistema aritmético para clases de equivalencia de números enteros llamadas clases de congruencia. La aritmética modular fue introducida en 1801 por Carl Friedrich Gauss en su libro Disquisitiones Arithmeticae. Wikipedia dixit :P
Existen diferentes lenguajes de programación, los cuales están clasificados según su proximidad al hardware o al usuario.
Wow! Esta interesante!
hoooooooo gracias
Comparto mis apuntes de esta clase:
Me han recomendado usar un editor de código: VSC. ¿Es posible también usar Atom? ¿Cuál recomiendan y por qué? Gracias
Claro! Es posible usar el editor que desees, realmente es gusto personal, con aquel que te sientas más cómodo programando. Siempre uso VSC y Atom.
Es perfectamente posible bro, incluso lo puedes hacer con un block de notas si tu quieres, siempre y cuando lo guardes con la extension ,py, en lo personal, uno de mis preferidos es Sublime Text