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

Поделиться
HTML-код
  • Опубликовано: 24 окт 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: ruclips.net/user/dimasmas
    👉 Aquí tenéis el curso entero: ruclips.net/p/PLVs9JdE6ZZh112EBnYa_wCxYpbVXEXrLF
    ¿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 .

  • @a.f1259
    @a.f1259 2 года назад +2

    excelentes tus videos
    me ayudan mucho
    sigue subiendo python por fa

    • @Dimasmas
      @Dimasmas  2 года назад +1

      Muchas gracias! Seguiré subiendo python jajaajah 🙌

  • @I_Grey_I
    @I_Grey_I 3 года назад +8

    Excelentes videos mi hermano, no te desanimes si no ves muchas visitas, ya ves que RUclips 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 😊

  • @elkino.forerosoto4293
    @elkino.forerosoto4293 Год назад

    Super buenos los videos lo felicito desde Girardot - Colombia

  • @miguelsaldana2380
    @miguelsaldana2380 11 месяцев назад

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

  • @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

  • @jose20231
    @jose20231 10 месяцев назад

    Excelente video! Te ganaste un suscriptor

  • @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 😊😊

  • @AxelOyhanarte
    @AxelOyhanarte 2 года назад +1

    Super bien explicado.

  • @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!

  • @rafaelrafael4843
    @rafaelrafael4843 2 года назад +1

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

    • @Dimasmas
      @Dimasmas  2 года назад

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

  • @hwhegevvdv7
    @hwhegevvdv7 2 года назад

    Buen video, me ayudó muchísimo!!

    • @Dimasmas
      @Dimasmas  Год назад

      Muchas gracias, me alegra poder ayudar!

  • @user-lh2sl3ty4j
    @user-lh2sl3ty4j Год назад

    Excelente explicación

  • @roccojustice7156
    @roccojustice7156 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.

    • @roccojustice7156
      @roccojustice7156 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 года назад

      @@roccojustice7156 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 Год назад

      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