1. Python / Говнокод #26880

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    >>> def f(positional_only, /, regular, *varargs, kw_only, **kw_varargs):
        print(positional_only, regular, varargs, kw_only, kw_varargs)
    
    f(1, 2, 3, 4, 5, kw_only='kw_only', kw_var1='var1', kw_var2='var2')
    # 1 2 (3, 4, 5) kw_only {'kw_var1': 'var1', 'kw_var2': 'var2'}

    Блядь, как всё сложно…

    https://www.python.org/dev/peps/pep-0570/

    Запостил: gost, 18 Августа 2020

    Комментарии (17) RSS

    • Давайте ругать «Python».
      Ответить
      • { Вы случайно не за PHP ? }
        Ответить
        • Именно поэтому я за «C++».

          Там правильная передача аргумента — это целое искусство, не то что в этой вашей скриптухе.
          Ответить
          • Нагородили сложностей на ровном месте, то ли едло было в классическом буйсике.
            Ответить
    • ИМЕННО ПОЭТОМУ Я ЗА "PHP".
      Ответить
    • А зачем он три аргумента в кортеж запихнул?

      p.s. в пеп не вчитывался
      Ответить
      • Это так варарги устроены в питухе. 1 пошла в positional_only (сделать f(positional_only=1) нельзя), 2 — в regular (f(regular=2) можно), оставшиеся positional аргументы пошли в кортеж varargs. Можно было без вараргов:
        def f(positional_only, /, regular, *, kw_only):
            print(positional_only, regular, kw_only)

        Так даже более наркоманисто выглядит.

        UPD: Традиционно эти аргументы называются «*args» и «**kwargs», но это не более чем конвенция.
        Ответить
    • > kw

      Это key-walue или как расшифровывается?
      Ответить
    • Будем честны, Гвидо не осилил «PHP».
      Gost тоже.
      Ответить
      • В «PHP» нет никаких «именованных параметров», именно поэтому я против «PHP».
        Ответить
      • Большинство людей негативно относится к копрофагии. При этом никто из них даже не пробовал есть говно.
        Они предвзяты.

        Так же и с ПХП
        Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий