Простой опрос для того, чтобы лучше понять куда двигаться дальше
Для чего вам python? Можно выбрать несколько ответов.
Для чего вам python? Можно выбрать несколько ответов.
Anonymous Poll
32%
Для web разработки на Django
22%
Для web разработки на других python frameworks
29%
Для дата сатанизма, машинного обучения
44%
Для написания небольших, полезных скриптов
32%
Для написания ботов, игр, мобильных приложух итд
10%
Для студенческих-школьных работ, олимпиад
34%
Для получения первой работы
31%
Для души
4%
Я уже знаю python на достаточном уровне, многих целей достиг - удивите меня
8%
Я тут случайно..
Что выведет программа?
Внимательность творит чудеса..
Внимательность творит чудеса..
Anonymous Quiz
11%
88
9%
90
38%
99
2%
100
9%
108
18%
117
13%
Другой ответ
Какой метод тут должен быть вместо METHOD?
Anonymous Quiz
27%
dict
23%
group
10%
groups
23%
groupdict
10%
span
7%
regs
sum(iterable, /, start=0) - воистину магическая встроенная функция питонистского языка.Пример:
>>> sum([1, 2, 3])6>>> sum([1, 2, 3], 2)8Простая сумма. Ничего сложного?
Но сможешь ли ты пройти тест, или ошибешься?
Мы очень радуемся, когда много людей ошибаются при решении наших тестов. Значит тест был не зря и мы смогли чем-то вас удивить.
Не стесняйся задавать вопросы знакомым программистам, или даже просто спрашивать что-то в питонячьих чатах или на stackoverflow. Пока другие тратят дни, чтобы дойти до чего-то самим, ты можешь потратить всего пару часов и выучить сильно больше. Ибо мир меняется слишком быстро..
Так чему равны list_sum и str_sum?
Anonymous Quiz
8%
[1, 2, 3] и 'ILovePython'
11%
[1, 2, 3] и 'I Love Python'
51%
6 и 'ILovePython'
13%
[1, 2, 3] и TypeError
9%
TypeError и TypeError
8%
TypeError и 'ILovePython'
Планируем запуск обещанного бесплатного мастер класса по библиотеке itertools. Материалы уже готовы. Должно быть очень интересно.
Мастер класс хотим провести в отдельно созданном для этого канале в ближайшее время. Анонс пришлём позже. Ты с нами?
Мастер класс хотим провести в отдельно созданном для этого канале в ближайшее время. Анонс пришлём позже. Ты с нами?
Anonymous Poll
78%
Да, я определенно с вами
22%
Я очень постараюсь поучаствовать
n = (0b011 + 0o007 + 0x00A)//0XA
Чему равно n?
Чему равно n?
Anonymous Quiz
16%
1
26%
2
26%
2.0
14%
10
9%
20
9%
20.0
Сессия обратной связи.
Чего не хватает каналу больше всего? (Можно выбрать несколько вариантов)
Чего не хватает каналу больше всего? (Можно выбрать несколько вариантов)
Anonymous Poll
27%
Простых задач
23%
Сложных задач
29%
Подсказок к задачам
32%
Решений задач
48%
Постов по теории
50%
Чаще делать посты
3%
Реже делать посты
31%
Сниппетов интересного кода
48%
Подборок материала для изучения python
39%
Новостей из мира python
Каррирование (currying) в python.
Каррирование - это популярная техника функционального программирования, а python поддерживает эту парадигму, поэтому стоит про это немного знать.
На самом деле, каррирование — это преобразование функции с множеством аргументов в набор вложенных функций с одним аргументом.
То есть f(a, b, c) = f(a)(b)(c)
Сложна? Давай разберем пример.
Допустим у нас есть функция, позволяющая отправить email от кого-то кому-то. В упрощенном виде такая:
Оказалось, что в вашей системе не так много лиц от которых шлется email. И от них шлется множество писем в разных ситуациях. Предположим, что их двое: СЕО и CTO компании.
Тогда имеет смысл, возможно, сделать такие манипуляции:
То есть send_email_from возвращает функцию, которой нужно передать только один параметр to, чтобы отправить email.
Как этим пользоваться.
Во-первых, теперь можно посылать письма так:
Что эквивалентно
Во-вторых, теперь можно делать такое
Это означает, что теперь, для того, чтобы отправить письмо от CEO, достаточно написать
что эквивалентно
Это разбиение аргументов по функциям, которые вызывают другие функции - и называется каррированием. Представь, что аргументов было очень много и многие из них редко менялись. Удобно?
Кстати, эта задача была про каррирование... Пересмотри ее еще раз!
Каррирование - это популярная техника функционального программирования, а python поддерживает эту парадигму, поэтому стоит про это немного знать.
На самом деле, каррирование — это преобразование функции с множеством аргументов в набор вложенных функций с одним аргументом.
То есть f(a, b, c) = f(a)(b)(c)
Сложна? Давай разберем пример.
Допустим у нас есть функция, позволяющая отправить email от кого-то кому-то. В упрощенном виде такая:
def send_email(from_, to): print(f'Email is sent from {from_} to {to}')Оказалось, что в вашей системе не так много лиц от которых шлется email. И от них шлется множество писем в разных ситуациях. Предположим, что их двое: СЕО и CTO компании.
Тогда имеет смысл, возможно, сделать такие манипуляции:
def send_email_from(from_): return lambda to: send_email(from_, to)То есть send_email_from возвращает функцию, которой нужно передать только один параметр to, чтобы отправить email.
Как этим пользоваться.
Во-первых, теперь можно посылать письма так:
send_email_from(CEO_EMAIL)('someone')Что эквивалентно
send_email(CEO_EMAIL, 'someone')Во-вторых, теперь можно делать такое
email_ceo = send_email_from(CEO_EMAIL)Это означает, что теперь, для того, чтобы отправить письмо от CEO, достаточно написать
email_ceo('someone')что эквивалентно
send_email(CEO_EMAIL, 'someone')Это разбиение аргументов по функциям, которые вызывают другие функции - и называется каррированием. Представь, что аргументов было очень много и многие из них редко менялись. Удобно?
Кстати, эта задача была про каррирование... Пересмотри ее еще раз!
Telegram
Junior Python School
Вот это функция. Всем функциям - функция. Хоть в каждый проект ее сувать..
Что же тут будет напечатано?
Что же тут будет напечатано?
print('start')
Cls()()Что будет выведено после
start? 1)
Metaclass __call__ was called2)
__new___ was called
__init__ was called
__call__ was called
Metaclass __new__ was called3)
Metaclass __init__ was called
Metaclass __call__ was called
__new___ was called
__init__ was called
__call__ was called
__new___ was called4)
__init__ was called
__call__ was called
Metaclass __new__ was called
Metaclass __init__ was called
__new___ was called
__init__ was called
__call__ was calledСложные вопросы заставляют новичков грустить. Лёгкие вопросы не по вкусу опытным..
Будем искать баланс? Какого параметра НЕТ у встроенной функции print()?
Будем искать баланс? Какого параметра НЕТ у встроенной функции print()?
Anonymous Quiz
10%
sep
6%
end
16%
file
37%
err
31%
flush
Как теперь будем реализовывать синглтон?
Anonymous Poll
41%
Через декоратор
24%
Через метакласс
34%
Я ещё разбираюсь с темами в конце статьи...
#ЛАЙФХАК
Используешь pycharm? Хочешь научиться делать это продуктивно?
Обрати внимание на вкладку help.
Эта вкладка поможет:
1) Найти необходимую информацию, если возник вопрос.
2) Научиться работать с пайчармом с помощью документации или, например, записанных видео-туториалов
3) Изучить список горячих клавиш
4) Решить проблему с производительностью
Самое главное на этой вкладке это Productivity Guide. Отвлекись сейчас от кода, нажми на каждый совет в списке и попробуй его воспроизвести в своем проекте. Обещаем, несколько советов из списка ты начнешь использовать на постоянной основе.
К тому же, вкладка показывает насколько продуктивно ты используешь pycharm и сколько времени ты экономишь.
Используешь pycharm? Хочешь научиться делать это продуктивно?
Обрати внимание на вкладку help.
Эта вкладка поможет:
1) Найти необходимую информацию, если возник вопрос.
2) Научиться работать с пайчармом с помощью документации или, например, записанных видео-туториалов
3) Изучить список горячих клавиш
4) Решить проблему с производительностью
Самое главное на этой вкладке это Productivity Guide. Отвлекись сейчас от кода, нажми на каждый совет в списке и попробуй его воспроизвести в своем проекте. Обещаем, несколько советов из списка ты начнешь использовать на постоянной основе.
К тому же, вкладка показывает насколько продуктивно ты используешь pycharm и сколько времени ты экономишь.