ФорумПрограммированиеPython → Python built-in functions are awesome. Use them!

Python built-in functions are awesome. Use them!

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 12:06

    Рассказывается о нескольких встроенных функциях в python:
    http://isbullsh.it/2012/05/05-Python-built-in-functions/
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 12:17, спустя 11 минут 57 секунд

    ном
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 12:20, спустя 2 минуты 39 секунд

    я раньше не юзал any/all, но потом подсел, правда всеравно редко где надо
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 12:23, спустя 2 минуты 36 секунд

    adw0rd, да, интересная штучка, но и правда редко нужная. скрее для арифметики/бухгалтерии такое надо, в обычном вебе редкость.
    Спустя 36 сек.
    а вот zip мне понравилось :-)

    особенно аля

    dict(zip(arr1, arr2)) = {} красота :-))
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 12:31, спустя 8 минут 9 секунд

    adw0rd, да, интересная штучка, но и правда редко нужная. скрее для арифметики/бухгалтерии такое надо, в обычном вебе редкость.


    удобно черер all/any проверять переменные, чтобы не городить:
    if var_one and var_two and …

    надо всеголишь:
    if all((var_one, var_two, …))

    или вообще когда приходит последовательность, например от клиента в json, то вообще круто, вствил в all/any и все
    Спустя 129 сек.
    Вот у меня такой пример

    if all((fs.name, self.filter_data, self.sort_field, self.search_query is not None)):
       self._name = fs.name  # original filter name
       self._valid = True


    вообщем типа empty в PHP
    помню точно что в isset можно множество аргументов передать, в empty наверное тоже, уже не помню
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 12:37, спустя 6 минут 8 секунд

    adw0rd, идея))
    Сапожник без сапог
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 24 мая 2012 г. 14:42, спустя 2 часа 4 минуты 41 секунду

    Смешная статья. Чего-то всё в кучу совсем.
    Предикаты any, all, isinstance вперемешку с математической pow, и вообще не функцией, а типом dict.
    Ну и важные моменты опущены.

    В dict (ну если закрыть глаза, выдохнуть и представить, что это функция), можно передавать kwargs.

    In [1]: dict(a=23, b=54)
    Out[1]: {'a': 23, 'b': 54}

    In [2]: dict((('aa', 10), ('bb', 20)), a=23, b=54)
    Out[2]: {'a': 23, 'aa': 10, 'b': 54, 'bb': 20}


    isinstance - может вторым аргументом принимать множество (тупл) типов. При этом можно дать базовый тип, т.е. проверка идет по всему mro.


    In [4]: isinstance([1,2,3], (tuple, list, set))
    Out[4]: True

    In [6]: import collections

    In [7]: isinstance([1,2,3], collections.Iterable)
    Out[7]: True

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 мая 2012 г. 15:36, спустя 54 минуты 3 секунды

    Смешная статья. Чего-то всё в кучу совсем.
    Предикаты any, all, isinstance вперемешку с математической pow, и вообще не функцией, а типом dict.
    Ну и важные моменты опущены.


    ага, есть такое, похоже что автор открыл для себя некоторые функции и поделился этим
    Спустя 71 сек.
    В dict (ну если закрыть глаза, выдохнуть и представить, что это функция), можно передавать kwargs.

    да, помню ты говорил что аркаша от тебя такому способу определения словарей научился
    я тоже иногда им пользуюсь, но не часто
    Спустя 49 сек.
    isinstance - может вторым аргументом принимать множество (тупл) типов. При этом можно дать базовый тип, т.е. проверка идет по всему mro.

    ага, а еще так как строки это тоже последовательности, то

    In [2]: isinstance("abc", collections.Iterable)
    Out[2]: True
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!