💛 Curso PYTHON : Funciones LAMBDA [Con Ejemplos] #19

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

ความคิดเห็น • 32

  • @Dimasmas
    @Dimasmas  3 ปีที่แล้ว +5

    💛 Hoola ¿Cómo va todo? Tres cosas importantes:
    👉 Aquí tenéis el código fuente: github.com/dimas-avila/curso-python
    👉 Si os queréis suscribir: th-cam.com/users/dimasmas
    👉 Aquí tenéis el curso entero: th-cam.com/play/PLVs9JdE6ZZh112EBnYa_wCxYpbVXEXrLF.html
    ¿Ya conocíais las funciones lambda? Dejádmelo en los comentarios y os leo!

  • @bisonte516
    @bisonte516 3 ปีที่แล้ว +1

    Otro video de 15 min que resuelve una hora de mi vida.... PEro que hace este hombre que no es profesor!?!?!?!?!?!

  • @Manu-ez4qrj
    @Manu-ez4qrj ปีที่แล้ว

    Eres el mejor ! . De verdad por favor sube más contendido de Python . Mil gracias , saludos desde Colombia . Explicas super bien !!

  • @Manu-ez4qrj
    @Manu-ez4qrj ปีที่แล้ว

    Eres el mejor de verdad , te mereces más suscriptores . No sabes cuanto te agradezco enserio ! . Dios te bendiga , saludos desde Colombia .

  • @I_Grey_I
    @I_Grey_I 3 ปีที่แล้ว +8

    Excelentes videos mi hermano, no te desanimes si no ves muchas visitas, ya ves que TH-cam es difícil y más en este ámbito. Suerte, un abrazo!

    • @Dimasmas
      @Dimasmas  3 ปีที่แล้ว +2

      Muchísimas gracias Fernando! Me animan un montón estos comentarios 😊

  • @a.f1259
    @a.f1259 3 ปีที่แล้ว +2

    excelentes tus videos
    me ayudan mucho
    sigue subiendo python por fa

    • @Dimasmas
      @Dimasmas  3 ปีที่แล้ว +1

      Muchas gracias! Seguiré subiendo python jajaajah 🙌

  • @DanielRodriguez-jw2sg
    @DanielRodriguez-jw2sg 2 ปีที่แล้ว +2

    Hermano, muchas gracias por poner estos ejemplos, son los mejores y más completos que he encontrado. Te ganaste mi suscripción, sigue así! Eres un crack!!!

    • @Dimasmas
      @Dimasmas  2 ปีที่แล้ว +1

      Muchas gracias!! Me alegra que te haya gustado, bienvenido al canal 😊😊

  • @CarlosMoreno-vw4ir
    @CarlosMoreno-vw4ir 2 ปีที่แล้ว

    Por fin entendi las funciones lambda, muchas gracias Dimas!!!! eres el mejor, saludos desde Monterrey, Mexico

    • @Dimasmas
      @Dimasmas  2 ปีที่แล้ว

      Que bien!! Saludos amigo

  • @miguelsaldana2380
    @miguelsaldana2380 ปีที่แล้ว

    crack!!! por ti cada vez me motiva más enseñarme a programar

  • @elkino.forerosoto4293
    @elkino.forerosoto4293 ปีที่แล้ว

    Super buenos los videos lo felicito desde Girardot - Colombia

  • @rafaelrafael4843
    @rafaelrafael4843 3 ปีที่แล้ว +1

    Felicitaciones, eres el mejor instructor que he encontrado, te deseo que tengas muchisimo exito. Saludos desde Mexico!

    • @Dimasmas
      @Dimasmas  3 ปีที่แล้ว

      Muchísimas gracias!! Que ilusión leer este comentario 🙌

  • @AxelOyhanarte
    @AxelOyhanarte 2 ปีที่แล้ว +1

    Super bien explicado.

    • @Dimasmas
      @Dimasmas  2 ปีที่แล้ว

      Muchas gracias 🙂

  • @rukorpm2280
    @rukorpm2280 3 ปีที่แล้ว +1

    me parece que su conocimiento es muy tecnico y claro.... me gusta mucho.... gracias

    • @Dimasmas
      @Dimasmas  3 ปีที่แล้ว

      Me alegra escuchar eso! Gracias por comentar ruko, nos vemos por el curso de python!

  • @jose20231
    @jose20231 ปีที่แล้ว

    Excelente video! Te ganaste un suscriptor

  • @user-lh2sl3ty4j
    @user-lh2sl3ty4j 2 ปีที่แล้ว

    Excelente explicación

    • @Dimasmas
      @Dimasmas  2 ปีที่แล้ว

      Muchísimas gracias

  • @hwhegevvdv7
    @hwhegevvdv7 2 ปีที่แล้ว

    Buen video, me ayudó muchísimo!!

    • @Dimasmas
      @Dimasmas  2 ปีที่แล้ว

      Muchas gracias, me alegra poder ayudar!

  • @Rocco_Justice
    @Rocco_Justice 3 ปีที่แล้ว +1

    Hola Dimas. Resolviendo algunas dudas me encontré con esta función lambda: "value = (lambda x: (x % 2 and 'odd' or 'even'))(101)" que retorna si el argumento es 'odd' o 'even'. Me he estado devanando los sesos y no logro comprender como esa sintaxis retorna ese valor. Me podrías ayudar a entender cómo funciona? Gracias

    • @Dimasmas
      @Dimasmas  3 ปีที่แล้ว

      Buenas Rocco, es un poco confuso pero intentaré explicarlo. Vamos por partes:
      Lo primero, la expresión que comentas "value = (lambda x: (x % 2 and 'odd' or 'even'))(101)" es equivalente a:
      >>> value = lambda x: (x % 2 and 'odd' or 'even')
      >>> value(10)
      'even'
      >>> value(11)
      'odd'
      Tal y como la has encontrado declara la función lambda y automáticamente pasa 101 como argumento, pero creo que haciéndolo en dos pasos se ve más claro.
      Luego, x%2 es una expresión que retorna el residuo de dividir un número (x) entre dos. Por tanto si el número es par (even) devolverá 0 y si es impar (odd) devolverá un número mayor que cero.
      Por otro lado, cuando utilizamos un operador condicional, Python evalúa los datos como booleanos. Aunque sean enteros o strings (esto es bastante curioso). Pero ¿Cómo transforma python un número entero (el resultado de x%2) o un string a un booleano? Pues siguiendo este criterio:
      -> Para enteros: 0 es False, cualquier otro número es True
      -> Para strings: "" es False (string vacío), cualquier otro se considera True (por ejemplo "hola" es True).
      Te pego un ejemplo de la consola de Python para ilustrar lo que te acabo de comentar:
      >>> bool(1)
      True
      >>> bool(10)
      True
      >>> bool(0)
      False
      >>> bool("hi")
      True
      >>> bool("")
      False
      A continuación hay que entender cómo utiliza los operadores "and" y "or" python. En la documentación de Python encontramos la siguiente explicación:
      x and y -> Se evalúa x, si esta es Falsa se retorna su valor. Si x es cierta, se evalúa "y" y se retorna su valor.
      x or y -> Se evalúa x, si esta es Cierta se retorna su valor. Si x es cierta, se evalúa "y" y se retorna su valor.
      Por tanto, volvamos a la función lambda por la que preguntas: "(x % 2 and 'odd' or 'even')"
      Para un número par (por ejemplo, para x=10 tenemos 10%2 = 0) -> 0 and 'odd' or 'even'
      Primero tenemos (0 and 'odd') -> Esto retorna 0, ya que 0 es False por tanto el operador and nos devuelve el valor del primer elemento.
      Luego tenemos (0 or 'even') -> Esto retorna 'even', pues 0 es False y el operador or nos devolverá el segundo elemento de la comparación.
      Para un número impar (por ejemplo, para x=11 tenemos 11%2 = 1) -> 1 and 'odd' or 'even'
      Primero tenemos (1 and 'odd') -> Esto retornará 'odd', ya que 1 es True por tanto el operador and devuelve el valor del segundo elemento.
      Luego tenemos ('odd' or 'even') -> Esto volverá a retornar 'odd', ya que 'odd' es True y el operador or devuelve el valor del primer elemento en caso de ser True.
      Tachán! Y así funciona la lambda que me has pasado. Creo que es la respuesta más larga hasta la fecha jajajaja. Espero que te haya podido ayudar. Tómatelo con calma y ves probando el código en la consola de python paso a paso para verlo mejor. Muy interesante tu duda, nos vemos por el canal.

    • @Rocco_Justice
      @Rocco_Justice 3 ปีที่แล้ว +1

      @@Dimasmas wow! Me queda clarísimo. En todos lugares busque excepto en la documentación. No estoy acostumbrado pero a partir de ahora lo haré. Muchas gracias por tomarte el tiempo de explicarmelo. Saludos ;)

    • @Dimasmas
      @Dimasmas  3 ปีที่แล้ว

      @@Rocco_Justice De nada amigo, me alegra que te haya podido ayudar!

  • @seniorbills6069
    @seniorbills6069 2 ปีที่แล้ว +1

    no le veo el uso a lambda por que con el def se puede hacer todo eso , y aun peor lo veo con menos uso el combinar lambda con un def , ya que en el mismo def se puede hacer

    • @Dimasmas
      @Dimasmas  2 ปีที่แล้ว

      Sí, con def puedes hacer lo mismo que con las lambdas, eso es cierto. Son más bien una utilidad para generar funciones de una línea, que viene especialmente bien cuando se combina con map, filter o incluso callbacks para un botón de tkinter.

    • @danyramirez4689
      @danyramirez4689 2 ปีที่แล้ว

      Lógico, al final los lamda son una forma de una línea de declarar una función, pero vienen bien cuando quieres ser breve, y complicar a quien lee tú código LOL, especialmente si no está muy curtido en Python otro LOL