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?

o inicia sesi贸n.

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 鈥渋f鈥 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 馃槈

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.

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.

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.

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鈥揾elp, 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??

Gracias a los comentarios estoy entendiendo el curso.

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 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鈥檚 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:
鈥榩v鈥 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

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 鈥榲entas鈥 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 鈥榲entas鈥.

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.

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 鈥渃ant 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