Básicos del Lenguaje

1

Guía de instalación y conceptos básicos

2

Archivos y slides del curso práctico de Python

3

IMPORTANTE: Instalando Ubuntu Bash en Windows para facilitarte el seguimiento del curso desde Windows.

4

¿Qué es la programación?

5

¿Por qué programar con Python?

6

Operadores matemáticos

7

Variables y expresiones

8

Presentación del proyecto

9

Funciones

10

Usando funciones en nuestro proyecto

11

Operadores lógicos

12

Estructuras condicionales

Uso de strings y ciclos

13

Strings en Python

14

Operaciones con Strings en Python

15

Operaciones con strings y el comando Update

16

Operaciones con strings y el comando Delete

17

Operaciones con strings: Slices en python

18

For loops

19

While loops

20

Iterators and generators

Estructuras de Datos

21

Uso de listas

22

Operaciones con listas

23

Agregando listas a nuestro proyecto

24

Diccionarios

25

Agregando diccionarios a nuestro proyecto

26

Tuplas y conjuntos

27

Tuplas y conjuntos en código

28

Introducción al módulo collections

29

Python comprehensions

30

Búsquedas binarias

31

Continuando con las Búsquedas Binarias

32

Manipulación de archivos en Python 3

Uso de objetos y módulos

33

Decoradores

34

Decoradores en Python

35

¿Qué es la programación orientada a objetos?

36

Programación orientada a objetos en Python

37

Scopes and namespaces

38

Introducción a Click

39

Definición a la API pública

40

Clients

41

Servicios: Lógica de negocio de nuestra aplicación

42

Interface de create: Comunicación entre servicios y el cliente

43

Actualización de cliente

44

Interface de actualización

45

Manejo de errores y jerarquía de errores en Python

46

Context managers

Python en el mundo real

47

Aplicaciones de Python en el mundo real

Conclusiones finales

48

Python 2 vs 3 (Conclusiones)

Clases bonus

49

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

Presentación del proyecto

8/49
Recursos

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

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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.

  1. Entren al directorio:
    cd …/…/mnt/c/Users/NOMBREDEUSUARIO/

    1. Entren a la carpeta que gusten dentro de sus archivos.
      cd /Desktop/CursoPlatziPython
    1. Crear archvio:
      touch main.py
    1. Abrir con vim
      vim main.py
  2. 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

# 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.

Que hago me sale esto Indentatioerror: unexpexted indent

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

Por si alguien utiliza la consola de Windows y no sabe como crear un archivo vea este enlace:

https://es.wikihow.com/crear-y-eliminar-archivos-o-carpetas-desde-el-intérprete-de-comandos-de-Windows

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())

Libro Python para todos de Raúl González Duque!
Aporte compañeros para acompañar los estudios 😃!!

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