Python non-stop.
Добрый день, дорогие друзья.
Сегодня, 23 июня в 20:00 по московскому времени состоится вебинар под руководством Антона Петрова на тему: Отношения с алхимией
На занятии мы рассмотрим темы:
1. Концепция алхимии;
2. Отношения в алхимии;
3. Выборка в алхимии.
Жду всех желающих разобраться в предметной области.
https://www.youtube.com/watch?v=hCZlZ9rWb2g
#видео #БД #SQLAlchemy
Добрый день, дорогие друзья.
Сегодня, 23 июня в 20:00 по московскому времени состоится вебинар под руководством Антона Петрова на тему: Отношения с алхимией
На занятии мы рассмотрим темы:
1. Концепция алхимии;
2. Отношения в алхимии;
3. Выборка в алхимии.
Жду всех желающих разобраться в предметной области.
https://www.youtube.com/watch?v=hCZlZ9rWb2g
#видео #БД #SQLAlchemy
YouTube
SqlAlchemy relationships
10.07.2018 в 20.00 мини вебинар на тему: Наибольшая общая подпоследовательность. Успеем прокачать мозги до начала футбольного матча.
https://www.youtube.com/watch?v=ITtiWBxMCKE
#видео #алгоритмы
https://www.youtube.com/watch?v=ITtiWBxMCKE
#видео #алгоритмы
YouTube
Наибольшая общая подпоследовательность
Решение задачи о нахождении наибольшей общей подпоследовательности у двух последовательностей. Алгоритм и код на Python.
Скринкаст на тему: Алгоритм Дейкстры. Поиск кратчайшего пути в графе.
anonymous poll
Да, интересно. – 43
👍👍👍👍👍👍👍 100%
Нет, не интересно.
▫️ 0%
👥 43 people voted so far. Poll closed.
anonymous poll
Да, интересно. – 43
👍👍👍👍👍👍👍 100%
Нет, не интересно.
▫️ 0%
👥 43 people voted so far. Poll closed.
Скринкаст на тему: "Алгоритм Дейкстры. Поиск кратчайшего пути в графе" проведу в конце недели. Готовлю материал. Ссылку на трансляцию добавлю примерно за сутки.
Ссылка на обещанный минивебинар:
https://www.youtube.com/watch?v=BE5Xx6PXScs
Начало 04 августа в 10.00 по Москве.
#видео #алгоритмы #графы
https://www.youtube.com/watch?v=BE5Xx6PXScs
Начало 04 августа в 10.00 по Москве.
#видео #алгоритмы #графы
YouTube
Алгоритм Дейкстры. Поиск кратчайшего пути в графе
Планы на утро субботы.
anonymous poll
Посмотреть скринкаст про алгоритм Декстры – 19
👍👍👍👍👍👍👍 50%
Заняться своими делами, а видео посмотрю в записи – 13
👍👍👍👍👍 34%
Много дел. Видео посмотрю когда-нибудь в светлом будущем – 6
👍👍 16%
👥 38 people voted so far. Poll closed.
anonymous poll
Посмотреть скринкаст про алгоритм Декстры – 19
👍👍👍👍👍👍👍 50%
Заняться своими делами, а видео посмотрю в записи – 13
👍👍👍👍👍 34%
Много дел. Видео посмотрю когда-нибудь в светлом будущем – 6
👍👍 16%
👥 38 people voted so far. Poll closed.
Начинаем обходить граф точно по расписанию, через 10 минут.
Всем доброго утра и отличного настроения. Прокачаем мозги 😉
P.S. Ссылка на трансляцию находится чуть выше.
Всем доброго утра и отличного настроения. Прокачаем мозги 😉
P.S. Ссылка на трансляцию находится чуть выше.
Всех, кто не знает или знал, но забыл - приглашаю на вебинар сегодня в 20.00
https://geekbrains.ru/go/Fmbnia
https://geekbrains.ru/go/Fmbnia
Сегодня отличный день, чтобы вернуть канал к жизни. Тем более историй за последние годы накопилось предостаточно.
В планах уйти от вебинаров (но не забрасывать их на совсем), добавить немного кода, историй... Чтобы было что почитать, поделиться с друзьями.
#intro
В планах уйти от вебинаров (но не забрасывать их на совсем), добавить немного кода, историй... Чтобы было что почитать, поделиться с друзьями.
#intro
👍4
И вот вам история из практики преподавания.
Однажды студент пожаловался, что не может написать рабочую функцию. Попросив код, с лёгкостью запустил его в своей IDE. У меня работает. 🤔 Спустя почти час переписки со студентом, танцев с бубном вокруг проверок интерпретатора, IDE, переменных окружения, версий и прочих безумных гипотез, причина была найдена. Ответ на картинке. 😉
#истории #lifehack
Однажды студент пожаловался, что не может написать рабочую функцию. Попросив код, с лёгкостью запустил его в своей IDE. У меня работает. 🤔 Спустя почти час переписки со студентом, танцев с бубном вокруг проверок интерпретатора, IDE, переменных окружения, версий и прочих безумных гипотез, причина была найдена. Ответ на картинке. 😉
#истории #lifehack
😁4
Привет.
Поздравляю всех с Днём Победы. Счастья, радости, здоровья, мира и благополучия вам.
И ловите немного приветов миру 🕊
Традиционно изучение языка программирования начинают с вывода Hello world! И есть один классический способ для Python.
Лично я знаю ещё парочку.
И секретный способ.
У кого есть другие варианты, делитесь в комментариях. 😉
#познавательно
Поздравляю всех с Днём Победы. Счастья, радости, здоровья, мира и благополучия вам.
И ловите немного приветов миру 🕊
Традиционно изучение языка программирования начинают с вывода Hello world! И есть один классический способ для Python.
print('Hello world!')Лично я знаю ещё парочку.
input('Hello world!')И секретный способ.
import __hello__
У кого есть другие варианты, делитесь в комментариях. 😉
#познавательно
👍6🔥3
Что быстрее?
Вопрос не про время набора, конечно же, а про время выполнения кода.
Ответ очевиден, если заглянуть под капот операции через модуль
С квадратными скобками получаем:
Функция
А если вам интересно продолжение этой истории, ставьте 👍 Тогда с меня подробные исследования в следующем выпуске.
#структуры_данных #познавательно
data_one = []
data_two = list()
Вопрос не про время набора, конечно же, а про время выполнения кода.
Ответ очевиден, если заглянуть под капот операции через модуль
dis.С квадратными скобками получаем:
1 0 BUILD_LIST 0
2 STORE_NAME 0 (data_one)
4 LOAD_CONST 0 (None)
6 RETURN_VALUE
Функция
list отработает чуть медленнее. Смотрите сами:1 0 LOAD_NAME 0 (list)
2 CALL_FUNCTION 0
4 STORE_NAME 1 (data_two)
6 LOAD_CONST 0 (None)
8 RETURN_VALUE
А если вам интересно продолжение этой истории, ставьте 👍 Тогда с меня подробные исследования в следующем выпуске.
#структуры_данных #познавательно
👍57🔥1
Продолжение истории про
А тем, кто недавно заглянул на огонёк сброшу ссылку на свой плейлист на YouTube. Если (а точнее когда) буду проводить вебинары, видео обязательно буду дублировать туда 👇
https://youtube.com/playlist?list=PL2Bb1BU5KbvphJCe7ZyOA611wXyRUQiux
#intro #видео
list() и [] оказалось длинным и с картинками. Пока решаю где её удобнее разместить. Продолжение однозначно следует... А тем, кто недавно заглянул на огонёк сброшу ссылку на свой плейлист на YouTube. Если (а точнее когда) буду проводить вебинары, видео обязательно буду дублировать туда 👇
https://youtube.com/playlist?list=PL2Bb1BU5KbvphJCe7ZyOA611wXyRUQiux
#intro #видео
🔥5
Одна из историй преподавания или часть 1. Пара слов о рекурсии в Python
- Рекурсивный код предполагает вызов функцией самой себя.
Следовательно нам нужна функция
- Рекурсия обязана иметь базовый случай, когда она возвращает ответ. Без него получаем переполнение стека функций. А это страшнее зависания в бесконечном цикле 😈
Следовательно нам нужен
- Вызов функцией самой себя должен упрощать задачу, приближать вычисления к базовому случаю.
Следовательно нам нужны передача аргументов
и вызов себя с более простой задачей
Собрав пункты вместе получим рекурсивный алгоритм. Например так можно считать сумму натуральных чисел от 1 до n через рекурсию:
А если у вас не работает, ответ лежит 👉 тут 👈
- Рекурсивный код предполагает вызов функцией самой себя.
Следовательно нам нужна функция
def func():- Рекурсия обязана иметь базовый случай, когда она возвращает ответ. Без него получаем переполнение стека функций. А это страшнее зависания в бесконечном цикле 😈
Следовательно нам нужен
return result
- Вызов функцией самой себя должен упрощать задачу, приближать вычисления к базовому случаю.
Следовательно нам нужны передача аргументов
def func(*args, **kwargs):и вызов себя с более простой задачей
return func(*spam, **eggs)Собрав пункты вместе получим рекурсивный алгоритм. Например так можно считать сумму натуральных чисел от 1 до n через рекурсию:
def func(n):
if n == 1:
return n
return n + func(n - 1)
А если у вас не работает, ответ лежит 👉 тут 👈
👍6😁3❤1🔥1
Одна из историй преподавания или часть 2. Пара слов про ленивые and и or в Python
Для повышения быстродействия при проверке условий в
Вначале рассмотрим
А теперь читайте медленно слева направо. Замечаете? Если первым идёт
А теперь аналогичная "лень" для
В случае
Вывод. В 2-х случаях из 4-х проверки через
Ленивый
В этом примере когда
Для повышения быстродействия при проверке условий в
if, Python ленится, когда условий несколько в связке с and и/или or.Вначале рассмотрим
and.True and True == True
True and False == False
False and True == False
False and False == False
А теперь читайте медленно слева направо. Замечаете? Если первым идёт
False, то в итоге всегда будет False независимо от второго значения.А теперь аналогичная "лень" для
or.True or True == True
True or False == True
False or True == True
False or False == FalseВ случае
or если слева идёт True, то и в результате будет True.Вывод. В 2-х случаях из 4-х проверки через
and и or знают ответ заранее, не глядя на второе условие. Так зачем тратить вычисления.if False and 2 + 2 == 4:
print("Этот текст никогда не будет выведен!")Ленивый
if помогает экономит ресурсы ☝️. Но новички легко наступают на грабли, не продумав все последствия 👇if a > 0 or a / b > 1:
print("Текст")В этом примере когда
b = 0 получим ошибку деления на ноль. Но не всегда, а только если a <= 0.👍8🔥2
Одна из историй преподавания или часть 3. Как благодаря ленивому and функция работает рекурсивно
Перед нами квинтэссенция рекурсии и лени. При любом натуральном x функция рекурсивно досчитывает до нуля, который и возвращает.
1. Функция получает на вход натуральное число, например так
2. Происходит неявное преобразование целого числа 5 из
3. Функция переходит к проверке выражения после
4. Переходим к пункту 1.
4.1 В какой-то момент
5 (он же новый п. 2). Происходит неявное преобразование целого числа 0 из
6. Ленивый
7. Happy end и ответ в виде нуля при любом натуральном
def a(x):
return x and a(x - 1)
Перед нами квинтэссенция рекурсии и лени. При любом натуральном x функция рекурсивно досчитывает до нуля, который и возвращает.
1. Функция получает на вход натуральное число, например так
print(a(5))2. Происходит неявное преобразование целого числа 5 из
int в логический True.3. Функция переходит к проверке выражения после
and и вызывает сама себя. Но число передаётся на единицу меньше.4. Переходим к пункту 1.
4.1 В какой-то момент
x уменьшается до нуля. 5 (он же новый п. 2). Происходит неявное преобразование целого числа 0 из
int в логический False.6. Ленивый
if отказывается идти дальше and. Никакого нового вызова функции не происходит. Возвращается ноль.7. Happy end и ответ в виде нуля при любом натуральном
x на входе. Если конечно мы не переполняем стек вызова функций. Но это уже другая история... 😉👍5👏5❤2
Одна из историй преподавания или часть 4. Что за стек вызова функций из 1 и 3 части?
Каждый запуск функции кладёт на стек информацию о ней. Удаление информации происходит после завершения работы функции. И обычно стек почти пустой. Ведь даже в крутом выводе на печать списка уникальных элементов из введённой пользователем строки всего 6 функций максимально на стеке. 👇
С рекурсией ситуация хуже. Пример рекурсивного подсчёта суммы от 1 до n 👉 этот 👈 сломается на любом
Впрочем, ограничение можнообойти изменить в большую сторону. Достаточно задать новый лимит через встроенную в модуль
Но помните. С большим стеком приходит большая ответственность. 🕸
Каждый запуск функции кладёт на стек информацию о ней. Удаление информации происходит после завершения работы функции. И обычно стек почти пустой. Ведь даже в крутом выводе на печать списка уникальных элементов из введённой пользователем строки всего 6 функций максимально на стеке. 👇
print(list(set(map(str, input("Filter unique simbols: ")))))С рекурсией ситуация хуже. Пример рекурсивного подсчёта суммы от 1 до n 👉 этот 👈 сломается на любом
n больше ≈995. Стек не резиновый, ОЗУ не бесконечна. Стандартное ограничение в Python составляет 1000 элементов на стеке.Впрочем, ограничение можно
sys функцию.sys.setrecursionlimit(new_limit)Но помните. С большим стеком приходит большая ответственность. 🕸
👍6🔥3
Чем заняться в выходные? Может почитать одно старое, но от этого ничуть не утратившее актуальность интервью со мной. 🤓
Хотя. Оно скорее не обо мне, а о Python. Но и вы собрались в канале ради языка программирования. Так что смело click по ссылке. 💻
https://habr.com/ru/company/habr_career/blog/454182/
Комментарии можно и туда, и сюда 🔁
Хотя. Оно скорее не обо мне, а о Python. Но и вы собрались в канале ради языка программирования. Так что смело click по ссылке. 💻
https://habr.com/ru/company/habr_career/blog/454182/
Комментарии можно и туда, и сюда 🔁
🔥3👍1
