Una buena práctica de estudio en plataformas es acompañar todo conocimiento con un libro, mi recomendación es Python para todos
de Raúl González Duque que lo pueden encontrar en Google, Saludos y feliz aprendizaje
Básicos del Lenguaje
Guía de instalación y conceptos básicos
Archivos y slides del curso práctico de Python
IMPORTANTE: Instalando Ubuntu Bash en Windows para facilitarte el seguimiento del curso desde Windows.
¿Qué es la programación?
¿Por qué programar con Python?
Operadores matemáticos
Variables y expresiones
Presentación del proyecto
Funciones
Usando funciones en nuestro proyecto
Operadores lógicos
Estructuras condicionales
Uso de strings y ciclos
Strings en Python
Operaciones con Strings en Python
Operaciones con strings y el comando Update
Operaciones con strings y el comando Delete
Operaciones con strings: Slices en python
For loops
While loops
Iterators and generators
Estructuras de Datos
Uso de listas
Operaciones con listas
Agregando listas a nuestro proyecto
Diccionarios
Agregando diccionarios a nuestro proyecto
Tuplas y conjuntos
Tuplas y conjuntos en código
Introducción al módulo collections
Python comprehensions
Búsquedas binarias
Continuando con las Búsquedas Binarias
Manipulación de archivos en Python 3
Uso de objetos y módulos
Decoradores
Decoradores en Python
¿Qué es la programación orientada a objetos?
Programación orientada a objetos en Python
Scopes and namespaces
Introducción a Click
Definición a la API pública
Clients
Servicios: Lógica de negocio de nuestra aplicación
Interface de create: Comunicación entre servicios y el cliente
Actualización de cliente
Interface de actualización
Manejo de errores y jerarquía de errores en Python
Context managers
Python en el mundo real
Aplicaciones de Python en el mundo real
Conclusiones finales
Python 2 vs 3 (Conclusiones)
Clases bonus
Entorno Virtual en Python y su importancia: Python en el mundo real
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
David Aroesti
Un vistazo al proyecto de línea de comandos llamado Platzi Ventas la cual nos va a servir para manejar clientes, ventas, inventarios y generar algunos reportes.
Desde la línea de comandos podemos crear un archivo con touch [nombre-del-archivo]
Escribiremos el primer archivo main.py
Aportes 79
Preguntas 20
Una buena práctica de estudio en plataformas es acompañar todo conocimiento con un libro, mi recomendación es Python para todos
de Raúl González Duque que lo pueden encontrar en Google, Saludos y feliz aprendizaje
Tienes dudas sobre porque es necesario poner
if __name__ == '__main__':
Esto es porque hay dos formas de ejecutar un programa de python, ejecutándolo directamente y ejecutándolo desde otro programa usando "import"
entonces cuando tu pones en otro código
import Mi_Programa.py
y tu no pusiste " if __name __ == ‘__main __’: " , se va a ejecutar el programa que hiciste en Mi_Programa.py y después de que termine de ejecutarse se ejecutara el código en el que importaste el programa.
Sin embargo si sí colocaste " if __name __ == ‘__main __’: " entonces todo lo que este dentro de ese bloque de código no se ejecutara y así podrás usar funciones especificas de ese programa sin que se ejecute el programa si no solo la función.
Para una explicación mas completa: https://es.stackoverflow.com/questions/32165/qué-es-if-name-main
Seria bueno que ordenen bien estos videos porque me estan confundiendo, en este video el profesor dice exactamente esto: " ustedes ya saben concatenar diferentes strings" estamos en el video 7, pero los strings es tema del video 12, tambien en el codigo que pone el profesor asume que ya sabes el “if” y eso es parte del video numero 10, pasa lo mismo con identacion, pass, etc etc, tambien asume que ya sabemos lineas de comandos( esto creo que si es basico saber para este curso pero creo que no caeria mal enseñarlo, creo no demoraria mucho tiempo en mostrarlo), creo que se asume mucho, soy principiante pero estoy seguro que esto no es complicado pero la manera de como estan ordenados los videos dificultan el aprendizaje!
Pesimo curso y ya por segunda vez, totalmente decepcionado, mejor estudio Python de un libro o de youtube, mejor veo otro curso. Adios Python de Platzi.
Muy mal comenzar a explicar usando vim. Los que vienen de cero a aprender python van a confundirse con ese editor.
En este nuevo curso de Python, al parecer, mejoraron muchas cosas (digo al parecer, porque aún no lo veo completo), pero otras no. Mismos errores de improvisar el curso sobre la marcha.
Si quieren ser desarrolladores de python, lo mejor es que vayan olvidándose deque todo es con una GUI y con windows, en el mundo de la tecnología (y más en el backend) se usan sistemas unix-like como Linux, OSX(Mac) o BSD, y muchas cosas se hacen por una terminal, así como se ve acá en el curso, si se sieten perdidos, deberían empezar por aprender Linux, el mundo de la programación corre bajo Linux v(servers, modems y demás) Platzi tiene un excelente curso de ello 😉
IMPORTANTE! PARA LOS AVENTUREROS QUE QUIEREN UTILIZAR LA TERMINAL DE UBUNTU EN WINDOWS. Y PODER SEGUIR BIEN EL CURSO.
Entren al directorio:
cd …/…/mnt/c/Users/NOMBREDEUSUARIO/
5.Realizar el curso!
PD:si bien los videos parecen desordenados, o el profesor dice palabras bastante avanzadas, guiarse con los slides o con la clase “1” del curso, donde esta la teoría.
Aquí tenéis el código: Comentado y con una sintaxis más útil (Utilizando una lista en vez de un string)
clients = ['Pablo', 'Ricardo']
# Only use the import file/s when we request it
if __name__ == '__main__':
clients.append('David') # Add the string 'David to the list
# Join the elements of the list using the string ', '
print(', '.join(clients)) # Pablo, Ricardo, David ```
Este inicio en Python esta muy confuso en verdad, tengo experiencia programando y este salto de vídeos me hacen cuestionar este curso especifico. Ordenen los vídeos o hagan una linea de tiempo que todos puedan seguir porque en la clase pasada se decía que ya sabíamos funciones, clases, etc, etc… y acá entramos a unas cosas anteriores a esa, es… raro, se siente mucho el salto entre vídeos.
La introducción al proyecto es muy confusa debido a que dan muchas temas por sentado que para alguien que no esté familiarizado con el Python puede ser confuso. Deberían de replantear la temática y metodología del curso.
Gracias a los comentarios estoy entendiendo el curso.
buenas estoy entendiendo pero a la fuerza porque esta muy confuso el curso, al como inicia y con el video pasado que dices cosas ilogicas.
Yo no entiendo porque es necesario usar la declaración
if __name__ == '__main__':
Digamos, en el ejemplo del profe, si no la usamos, tenemos:
clients = 'pablo,ricardo,'
clients += 'david'
print(clients)
Y todo sigue funcionando igual.
Para quien esté con Windows:
https://www.xataka.com/aplicaciones/asi-es-usar-la-consola-bash-de-ubuntu-en-windows-10
Con el emulador de la consola de Linux podremos seguir mejor las operaciones del profesor en la línea de comandos.
La verdad se me esta complicando mucho seguirle el hilo al curso, y no es por que no sepa nada de programación. Tengo experiencia en C# , C ++ , SQL , pero no logro seguirlo muy bien, primero que nada el IDE que utiliza como lo uso ? el unico que me ayudo a llegar hasta acá fue Atom, buscando monton por internet logre que los codigos que pusieron en los comentarios de los videos me funcionaran … Pasando esto , en este Capitulo puntual , arranca hablando de un listado de ventas poniendo pv–help, y todo lo que sigue como si ya tuvieramos un archivo con esta info el que esta mirando en el ejemplo, yo no la encontre ni el GitHub ni en archivo aca al lado de comentarios , o estoy muy perdido yo o no esta explicado muy claro o ordenadamente, sin animos de ofender es solamente para saber si yo estoy mal …
Recomiendo seguir practicando con
Invent Your Own Computer Games with Python, 4th Edition
https://inventwithpython.com/invent4thed/
Por qué pone if name == ‘main’: al principio???
Cómo no explica mejor la razon de dicha línea??
Esto está muy confuso, en el vídeo de presentación del proyecto en qué momento se empezó a crear todos esos archivos y comandos. Ni descargando el proyecto de GitHub me funciona el comando pv --help, por favor, ayuda con esto que en realidad quiero seguir progresando en el curso, pero está bastante confuso
si alguien desea el libro de Python para todos de Raúl Gonzáles Duque puede responder este post y yo podría mandárselo, pero si quieres hacerlo por ti mismo aquí esta el link donde yo lo descargue, (esta en pdf)
https://launchpadlibrarian.net/18980633/Python para todos.pdf
if __name__ == ‘__main__’
Su significado se basa en dar el punto de acceso del programa, es decir aqui es donde se van a ejecutar el programa, si vienes de C esto es igual que la funcion Main, lo que quiere decir que no importa todo lo que este en el codigo lo importante es lo que esta dentro de esta funcion que es lo que realmente va a correr
Deberían de ordenar mejor esta ruta de python ya que entre los cursos hay muchos conceptos repetidos, es como los hayan creado sin un temario, deberían dejarlo como la ruta de desarrollo web…
Hola David,
¿Qué herramienta usas para que el código en la terminal se coloree en base a que expresión sea?
Muchas gracias
Se ve buenísimo el proyecto, soy muy fan de la terminal de comandos 😄
Cual es el terminal que usa?, como ingresa?
es lo mismo pero ahorrando un poco de lineas.
def _get_client_name():
client_name = None
while not client_name:
client_name = input('What is the client name?')
if client_name == 'exit':
sys.exit()
return client_name
Hola, Es mi primer curso de programación y quisiera saber cómo hago para configurar atom para poder escribir python en el y seguir el curso en este editor de texto.
clients = []
def run():
while True:
command = str(input("""
Que deseas hacer?
[a]gregar clientes
[m]ostrar clientes
[s]alir
"""))
if command == "a":
_clients = str(input("Ingresa tus clientes: "))
clients.append(_clients)
elif command == "m":
print("Tus clientes".center(50,"="))
print(clients)
else:
break
if __name__ == "__main__":
run()
Yo separé mi codigo en dos archivos:
main.py
# main.py
clients = 'pablo,ricardo'
if __name__ == '__main__':
clients += ',david'
print(clients)
# test.py
import main
main.clients
Y luego ejecute cada uno de los archivos con la siguiente salida:
$ python3 main.py
pablo,ricardo,david
$ python3 test.py
pablo,ricardo
Hola.
Creo que tengo problemas con el tema de la estructura de carpetas y me gustaría vuestra ayuda.
Tengo el main.py en la carpeta donde está el ejecutable de Python, que es:
C:\Users\A169390\AppData\Local\Programs\Python\Python37-32
Por debajo de la carpeta indicada … tengo una subcarpeta /Scripts es donde creo que se ha creado el entorno virtual, porque ahí tengo:
C:\Users\A169390\AppData\Local\Programs\Python\Python37-32\Scripts\venv
Para compilar el main.py tengo que vía cmd Windows, irme hasta la carpeta donde esta el ejecutable de Python y teclear python main.py, hasta ahí bien:
Pero si creo un directorio por debajo de la estructura C:\Users\A169390\AppData\Local\Programs\Python\Python37-32 , como por ejemplo ‘ventas’ y meto ahí el main.py, la consola me dice que no reconoce el comando python en el momento que intento compilar el main.py de la carpeta ‘ventas’.
Alguien podría ayudarme? Porque ahora mismo no veo una forma de cómo organizar mi trabajo en estructuras de directorios por proyecto.
Gracias.
Un saludo.
hola una pregunta ese pv hay que descargarlo e instalarlo o que? al momento de crear el mainpy me dice que permission denied
No entiendo las quejas de los compañeros, me imagino que era el orden de las clases, porque hasta el momento todo super, este profe es genial.
use:
C:\Users\6.Curso de Python\Platzi> touch main.py
"touch" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
C:\Users\6.Curso de Python\Platzi>type nul > main.py
C:\Users\6.Curso de Python\Platzi>
Con lo lindos que son los IDE’s hoy en día…
Para windows el comando touch se debe reemplazar por type nul > [nombre_archivo]
En el ejemplo del profesor seria type nul > main.py
para quien va empezando con vim cuando lo abres y quieres escribir preciona i y cuando quieres guardar preionas esc y luego shift + z + z
Interesante!
clients = 'pablo, ricardo'
if __name__ == '__main__':
clients+= ' ,david'
print(clients)
En que momento configro un entorno? veo en su terminal en la parte izquierda sale (env)
hola buenas tardes yo quiero aprender a escribir un troyano con python no es para nada malo y si para algo bueno
Me salia error del directorio… reinicie el VSC y por arte de magia si corrió… estoy muy confundido
En este video explican también por qué se usa
if __name__ == '__main__':
El concepto CRUD está estrechamente vinculado a la gestión de datos digitales. CRUD hace referencia a un acrónimo en el que se reúnen las primeras letras de las cuatro operaciones fundamentales de aplicaciones persistentes en sistemas de bases de datos:
Create (Crear registros)
Read bzw. Retrieve (Leer registros)
Update (Actualizar registros)
Delete bzw. Destroy (Borrar registros)
En pocas palabras, CRUD resume las funciones requeridas por un usuario para crear y gestionar datos. Varios procesos de gestión de datos están basados en CRUD, en los que dichas operaciones están específicamente adaptadas a los requisitos del sistema y de usuario, ya sea para la gestión de bases de datos o para el uso de aplicaciones. Para los expertos, las operaciones son las herramientas de acceso típicas e indispensables para comprobar, por ejemplo, los problemas de la base de datos, mientras que para los usuarios, CRUD significa crear una cuenta (créate) y utilizarla (read), actualizarla (update) o borrarla (delete) en cualquier momento.
A mi me funciono este link https://platzi.com/contributions/configurando-mi-editor-atom-para-python/ para configurar Atom par python. Me genero alguna clase de problemas pero al final es de gran ayuda. Les dejo el código que utilice
No imagino el detrás de cámara!!
Por si no lo notaron, David reescribió el archivo main.py del programa terminado que nos enseñó al principio funcionando. Por eso tuvo que cambiar de directorio para ejecutar el programa, porque se le olvidó cambiar luego de enseñar el programa terminado.
Buen día un favor en que parte del video se explica la creación del proyecto platzi-ventas que no lo encontré…
En que momento configro un entorno? veo en su terminal en la parte izquierda sale (env)
Por que cuando quiero hacer uso del cmd y tratar de correr la intruccion pv --help me salta el siguiente error:
‘pv’ is not recognized as an internal or external commad
No me quedo claro crear el archivo , no pude hacerlo , alguien tiene una idea?
El proyecto se ve interesante
Estoy trabajando con OpenSuse 15.0 por consola, en caso de que alguien quiera contribuir. No tengo mucha experiencia, pero hay una enorme comunidad para resolver dudas en Internet.
Excelente desarrollar el curso sobre un proyecto útil. Muy bien con esto.
Estoy super emocionado por tomar este curso
Hola yo trabajo con Visual Studio y el cmd de Windows para aquellos que no pudieron abrir el archivo les recomiendo que obtengan la localización de la carpeta y hagan lo siguiente:
cd C:\Users\Nombre\XXXXX\Python\main.py y enter
¡Listo!
Es ve muy interesante la aplicación
Bases de PowerShell de Window
https://programminghistorian.org/es/lecciones/introduccion-a-powershell
Por si alguien utiliza la consola de Windows y no sabe como crear un archivo vea este enlace:
No he entendido un carajo de todo este capítulo 😛
Nota: trabajo en Windows.
Es recomendable saber un poco de consola o tomar el curso de consola para aprovechar mejor este curso.
chevre
Alguien me podría explicar porqué cuando se escribe:
a = 1
a += a*2
print(a)
3
Se supone que estoy efectuando la operación 1*2 debería dar 2 como resultado
Que herramienta usa el profesor para que se le ponga ese simbolo al final de cada linea, los numeros que identifican la linea y como hago para tener esos colores en el vim? Cual tema tiene? alguien sabe el nombre especifico?
Aquì mi código
¿ Me debería correr ya algo ?
Traceback (most recent call last):
if name == “main”:
NameError: name ‘name’ is not defined
clientes = "juan,pedro,"
if _name_ == "_main_":
clientes += "david"
print(clientes)```
Lo mejor no seria directamente crear la variable clients con los 3 nombres? No nos ahorrariamos código?.
Las variables no van debajo de nuestro condicional if?
En Atom me sale eso, a pesar de haber instalado el paquete Script.
Podrian ayudarme, por favor.?
Buenas noches
¿por qué razón usa if __name__ == '__main__'
y no 'main'
?
Hola, como tengo acceso al proyecto?
NO tengo la lista de clientes , supongo que debe estar en algun sitio.
gracias
como hago para que el archivo PV (Platzi Ventas ) funcione, estoy utilizando Sublime y me sale un error “cant open that file”. Gracias
Entendido y funcionando
Con mucha simple y enfocados vamos por mas
esta bien crear el archivo directamente con el comando vim main.py?
ya que si el archivo no existe lo crearia directamente al editarlo
Crear el archivo main.py
exec(open("main.py").read())
if name == ‘main’
Su significado se basa en dar el punto de acceso del programa, es decir aqui es donde se van a ejecutar el programa, si vienes de C esto es igual que la funcion Main, lo que quiere decir que no importa todo lo que este en el codigo lo importante es lo que esta dentro de esta funcion que es lo que realmente va a correr
Excelente el repaso de las partes más básicas, vamos por los siguientes pasos para completar el proyecto y complementarlo con lo aprendido en bases de datos. Yeah!
Gracias
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?