Зашел специально поиграться, выбрать себе ноутбук :)
Очень симпатично, удобно, всё супер. Мне понравилось, но, как всегда, немного «но»:
1. Было бы замечательно, если бы обращение к хосту было отложено на каких-нибудь 200 мс, а не выполнялось сразу после изменения характеристики. Это очень существенно, когда выбираешь несколько «птичек» подряд, сейчас приходится после каждой ждать.
2. Чтобы «посмотреть», при нажатии с CTRL, открывалось таки в новом окне, а не в текущем.
3. Как выше уже написали, было бы вообще прекрасно сделать tristate-checkbox'ы — чтобы каждая птичка изначально была в состоянии «не важно», и переключалась в «обязательно» и «ни в коем случае». Таким образом, все положительно выбранные пункты в пределах группы обрабатывались бы, как сейчас, как логическое «или», а негативно выбранные пункты — как логическое «и». Это было очень неплохо. Правда.
4. И я был бы окончательно счастлив, и, надеюсь, меня поддержат, если бы рядом с каждой птичкой выводилось количество моделей, которое станет, если я на эту птичку нажму. Тут как раз будут очень кстати разворачивающиеся блоки — нет нужды обновлять невидимые поля. Тогда в «перетягивающихся» полях уместно бы выглядели бы гистограммы, позволяющие оценить приблизительно количество моделей в этом «диапазоне».
… Терминология, «параметры по умолчанию» хорошо, а можно ещё «именованые аргументы»...
Думаю, вам, конечно же, известно, что «параметры по умолчанию и «именованные аргументы» — две больших разницы, поэтому просто будем считать, что вы нечаянно оговорились :)
Ну почему же сразу оскорбляю? Да я вам, скорее даже, льщу! :)
Собственно, конструктивно, по теме критики статьи, вы не сообщили ни-че-го. Если законспектировать ваше изречение, то это будет выглядеть так:
Статью прочитал, хотел порекомендовать, но не порекомендую, потому что я ничего не понял. То, что я ничего не понял — ваша вина, я должен был понять, потому что я должен был, а вы виноваты, что я не понял. И вот, тут тоже есть один, который ничего не понял. Ну вы же сами понимаете, что я хочу сказать, поэтому я не буду этого говорить, вы и так всё поняли, что я сказать-то хотел.
А я считаю, что вы:
1. никудышний специалист :)
2. не удосужились прочитать статью перед тем, как делать потуги её раскритиковать :)
3. кичитесь количеством бедняг, которые по неосведомленности посчитали вас программистом :)
А царь Гвидон рассмешил, да :) Может быть, оземь ударитесь три раза, полегчает? :)
и хочу еще обратить внимание на то, что lambda (x, y): expr и lambda x, y: expr — две разных ф-ции. Первая принимает один параметр, который должен мочь распаковаться (т.е. быть iterable) в ровно два элемента, тогда как вторая функция принимает два аргумента. Пример использования первой:
t = (a, b) # либо [a, b], iter([a, b]) и т.д.
print (lambda (x, y): x + y)(t)
или короче print (lambda (x, y): x + y)((a, b)) (скобки не лишние).
Вторая используется, соответственно, print (lambda x, y: x + y)(a, b).
И, естественно, с помощью лямбд можно делать замыкания (closures), рекурсию и все другие прикольные вещи, которые можно сделать, используя именованную форму записи функции.
Лямбда без аргументов делается просто: print lambda: 10 - 3. :) По вкусу можно написать print (lambda: 10 - 3), чтобы избежать неоднозначностей при возврате tuple-ов.
Очень симпатично, удобно, всё супер. Мне понравилось, но, как всегда, немного «но»:
1. Было бы замечательно, если бы обращение к хосту было отложено на каких-нибудь 200 мс, а не выполнялось сразу после изменения характеристики. Это очень существенно, когда выбираешь несколько «птичек» подряд, сейчас приходится после каждой ждать.
2. Чтобы «посмотреть», при нажатии с CTRL, открывалось таки в новом окне, а не в текущем.
3. Как выше уже написали, было бы вообще прекрасно сделать tristate-checkbox'ы — чтобы каждая птичка изначально была в состоянии «не важно», и переключалась в «обязательно» и «ни в коем случае». Таким образом, все положительно выбранные пункты в пределах группы обрабатывались бы, как сейчас, как логическое «или», а негативно выбранные пункты — как логическое «и». Это было очень неплохо. Правда.
4. И я был бы окончательно счастлив, и, надеюсь, меня поддержат, если бы рядом с каждой птичкой выводилось количество моделей, которое станет, если я на эту птичку нажму. Тут как раз будут очень кстати разворачивающиеся блоки — нет нужды обновлять невидимые поля. Тогда в «перетягивающихся» полях уместно бы выглядели бы гистограммы, позволяющие оценить приблизительно количество моделей в этом «диапазоне».
А так, повторюсь, очень даже симпатично и удобно.
И сколько его аккумулятор держит «перелистываний»?
А намёк — он целиком и полностью на целевую аудиторию рассчитан, тут извиняйте :)
А вы тут дискутируете далеко не над официальной документацией, обсасывая её значимость. Намёк понятен? :)
Собственно, конструктивно, по теме критики статьи, вы не сообщили ни-че-го. Если законспектировать ваше изречение, то это будет выглядеть так:
Исправитесь? :)
1. никудышний специалист :)
2. не удосужились прочитать статью перед тем, как делать потуги её раскритиковать :)
3. кичитесь количеством бедняг, которые по неосведомленности посчитали вас программистом :)
А царь Гвидон рассмешил, да :) Может быть, оземь ударитесь три раза, полегчает? :)
tиз первого примера, то так:print (lambda x, y: x + y)(*t).Надеюсь, я всех окончательно запутал :)
lambda (x, y): exprиlambda x, y: expr— две разных ф-ции. Первая принимает один параметр, который должен мочь распаковаться (т.е. быть iterable) в ровно два элемента, тогда как вторая функция принимает два аргумента. Пример использования первой:или короче
print (lambda (x, y): x + y)((a, b))(скобки не лишние).Вторая используется, соответственно,
print (lambda x, y: x + y)(a, b).print lambda: 10 - 3. :) По вкусу можно написатьprint (lambda: 10 - 3), чтобы избежать неоднозначностей при возврате tuple-ов.