Тёмный
AlexMedovnik
AlexMedovnik
AlexMedovnik
Подписаться
О программировании с полного нуля.
Комментарии
@Warek-u8w
@Warek-u8w Месяц назад
Лучший
@MortyTown-c6p
@MortyTown-c6p Месяц назад
трек тайм 11:20 написал так же git merge v1 но меня в редактор не перекинуло , почему?
@Natalya_Nataliya
@Natalya_Nataliya 2 месяца назад
Спасибо. Все стало понятно.
@resteenv1e
@resteenv1e 2 месяца назад
Дай бог вам здоровья, спасибо за урок. Очень недооценённый канал, учитывая, как вы понятно подаёте информацию
@AlexMedovnik
@AlexMedovnik 2 месяца назад
@@resteenv1e спасибо)
@gruzin01
@gruzin01 3 месяца назад
Здравствуйте, спасибо за полезное видео. Подскажите, а как сделать, что бы и кириллицу искать не зависимо от регистра?
@AlexMedovnik
@AlexMedovnik 3 месяца назад
Здравствуйте! Другую базу данных выбрать. Например, postgres. У sqlite с кириллицей проблемы
@gruzin01
@gruzin01 3 месяца назад
@@AlexMedovnik Спасибо.
@МихаилМаслихов-л5с
@МихаилМаслихов-л5с 4 месяца назад
Спасибо, отлично объясняешь!
@user-068rus
@user-068rus 5 месяцев назад
совет когда говоришь перестань дергать мышь, она реально отвлекает от просмотра видео урока, по факту
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
Уроки классные. Спасибо большое. А будут уроки про Django REST Framework?
@AlexMedovnik
@AlexMedovnik 6 месяцев назад
Спасибо! К сожалению, времени нет
@УмСчастья
@УмСчастья 6 месяцев назад
еще есть через math, factorial()
@УмСчастья
@УмСчастья 6 месяцев назад
{s1:.1f} - округление
@УмСчастья
@УмСчастья 6 месяцев назад
если между то ошибка у вас.
@andreigal4482
@andreigal4482 6 месяцев назад
Спасибо за урок много интересного подчёркиваю. По поводу "default" мне кажется в место него лучше "default.jpg" в static положить и сделать проверку в image.html {% load static %} {% if product.image %} <img src="{{ product.image.url }}" class="card-img-top" alt="{{ product.title }}"> {% else %} <img class="img-size" src="{% static 'img\default.webp' %}" alt="defaultCar"> {% endif %}
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
нашёл. Спасибо
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
Добрый день. А где у Вас курс по Классам, не могу найти ?
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
спасибо
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
это круто
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
спасибо
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
спасибо
@VozrajdenieVoz
@VozrajdenieVoz 6 месяцев назад
очень хороший урок
@andreigal4482
@andreigal4482 6 месяцев назад
Очень подробно мне очень нравится, но в конце всё как-то усложнили нужно было просто добавить в style.css .card-flex { flex: 1 1 33% !important; } ну вообще спасибо большое смотрю учусь многому.
@АрсенийКвасов-с6в
@АрсенийКвасов-с6в 7 месяцев назад
Очень круто. Вы делаете крутую работу :) Огромное спасибо!
@andreigal4482
@andreigal4482 7 месяцев назад
Долго занимаюсь .html .css вот решил с Django подружиться, так разжовано я ни у кого не видел для начинающих то что нужно. Спасибо
@Kulec88
@Kulec88 7 месяцев назад
хахахахха забавно получилось 5:57
@Kulec88
@Kulec88 7 месяцев назад
спасибо, очень хорошо объясняешь, прям для самых тупых(для меня)
@AlexMedovnik
@AlexMedovnik 7 месяцев назад
Потому что я сам через это проходил)
@Kulec88
@Kulec88 7 месяцев назад
спасибо мужик
@perfectmaximalist9036
@perfectmaximalist9036 7 месяцев назад
Code: teacher_name = Alex_Medovnik input(‘Who is the best Python teacher? ’) print(f’of course, {teacher_name}!’)
@knarg4682
@knarg4682 8 месяцев назад
"Ой, добавился атрибут name..." Чтобы такого не случалось, есть дандер __slots__ . Пишется он в самом начале тела класса и приравнивается к списку либо кортежу, в котором перечислены в строчном формате все имена, которые будут использоваться внутри класса. В данном случае: __slots__ = ['__name', 'age'] Всё. Теперь при попытке присвоения нового атрибута увидите ошибку: "объект не имеет такого атрибута". И не сможет иметь. То же самое произойдёт и в случае, если дописать новый атрибут/метод в теле класса, но не добавить его имя в __slots__ .
@knarg4682
@knarg4682 8 месяцев назад
"Если вы помните, в функции создаются локальные переменные, к ним нельзя обратиться..." Это к переменным. А к атрибутам и к методам функций очень даже можно. def homo(name=None, age=0): def inner(): inner.name = name inner.age = age def show(): return f'{inner.name} {inner.age}' show() inner.show = show inner() return inner a = homo() b = homo('Alex', 25) print(a.show()) print(b.show()) print(b.name) print(b) # как видите, это пространство имён функции Всё как доктор прописал, создаются самостоятельные объекты в виде копий пространства inner, у которых работают персональные атрибуты и методы. Замыкания и вообще процедурное программирование намного более мощная и гибкая штука, чем об этом обычно говорят.
@knarg4682
@knarg4682 8 месяцев назад
Гораздо понятнее (и правильнее), во-первых, объяснить, что такое "пространства имён", что такое "область видимости" и что такое "инициация". А уже с эти багажом информации и эффект замыканий, и декорация, и поведение импортированных из левого модуля функций становятся просто очевидны.
@knarg4682
@knarg4682 8 месяцев назад
"уникальных неупорядоченных значений". Здесь хорошо бы сделать сразу два отступления. Во-первых, рассказать, что такое функция hash. Зачем она -- уже другая история, факт в том, что и ключи словаря, и множество создаются с применением хэширования. Так вот, с точки зрения hash булевы переменные True/False и целые числа 1/0 -- одно и то же. При попытке собрать множество из этих четырёх значений внутри окажутся только два: hash всё превратит в числа. Эта же функция отвечает за то, что ни ключом словаря, ни элементом множества не может быть неизменяемый объект "кортеж", если он содержит хоть один изменяемый ээлемент -- например, список. Теперь насчёт порядка. Порядок во множестве есть. Но не зависящий от порядка ввода, а свой, согласно внутренним тараканам, точнее, согласно опять же результатам работы функции hash, она выдаёт "хэш-суммы" и вот они-то уже упорядочены. Поскольку хэш-сумма целого положительного числа равна самому этому числу -- очевидно, что если при создании множества используются только целые положительные числа, то множество окажется сортированным по возрастанию. А отрицательные целые числа пойдут следом после всех положительных и отсортируются в обратном порядке. Запустите этот код: import random s = set((random.randrange(- 1000, 1000) for x in range(100000))) # на входе каша из 100 тыс чисел от -1000 до 999 print(s) Фокус-покус!
@perfectmaximalist9036
@perfectmaximalist9036 8 месяцев назад
ты просто красава
@knarg4682
@knarg4682 8 месяцев назад
Здесь (как и почти везде) из-за неверной трактовки чрезмерно сложное объяснение. Всё гораздо проще: and и or -- КОММУТАТОРЫ, они ничего не изменяют и не преобразовывают, они переключаются, возвращая один из двух "фрагментов кода" (это не обязательно просто значение, это и выражение и функция) в зависимости от того, чем в булевом смысле является содержимое ЛЕВОГО плеча оператора. and при получении в левое плечо "чего-либо", равнозначного False -- его и вернёт, при получении True -- переключится на то, что у него в правом плече. or работает ровно наоборот, переключится, получив в левом плече False. Никто никакие "True" не ищет. True and 1 => 1 1 and True => True False or 0 => 0 0 or False => False Всё это происходит не "сравнением", как сказано в ролике, двух результатов, а только оценкой той части выражения, что слева. Это важно понять, потому что иначе, будь в правом плече некое громоздкое вычисление (создание списка на сто миллионов, например), для "сравнения" оно бы запускалось каждый раз независимо от результата в левом плече, ведь надо же получить результат для "сравнения". Однако нет. Взять одно и то же выражение: lst1 = [0] * 10 lst2 = [1] * 10 for x in lst1: a = x or [*range(10000000)] print('OK') for x in lst2: a = x or [*range(10000000)] print('OK') Время выполнения этих двух циклов будет различаться на много порядков, В первом случае or будет каждый раз переключаться на создание списка, во втором -- просто прощёлкает цикл. Если заменить or на and, сработает наоборот. Вот и вся магия.
@evgenyzakharov3759
@evgenyzakharov3759 8 месяцев назад
Хорошо объяснил. Спасибо.
@negative309
@negative309 9 месяцев назад
Класные курсы. Почему так давно небыло новых видосов? Ждем новые уроки. Не останавлийвайся. У тебя классно получаеться
@_v1pl_
@_v1pl_ 9 месяцев назад
спасибо ! :-)
@anazkomult
@anazkomult 9 месяцев назад
Спасибо!
@anton-f8t
@anton-f8t 9 месяцев назад
Голос у вас красивый очень, прям как у игоря вихорькова. Надо вам его видео посмотреть
@drugprirody-j6l
@drugprirody-j6l 10 месяцев назад
Здравстуйте! Можете ли вы по подробнее обьяснить о 15:45 то что получилось? Правильно ли я понял что вы сначала взяли всех женщин и с Union обьединили таблицы? Спасибо
@AlexMedovnik
@AlexMedovnik 10 месяцев назад
Здравствуйте! Да. Все правильно вы поняли. Мы сделали первую выборку при помощи join. В результате получили всех женщин, а затем, просто сложили 2 таблицы. Здесь важно понять разницу между join и union. В первом случае таблицы связаны ключами, а во втором - нет. При сложении, вычитании и пересечении, главное - одинаковое количество колонок и не конфликтующие типы в них
@tesmanit
@tesmanit 10 месяцев назад
Спасибо за урок. Очень хорошо объясняете
@ЯковЕвгеньевич-м9щ
@ЯковЕвгеньевич-м9щ 10 месяцев назад
Очень понятно подаешь информацию, но над качеством звука стоит поработать, успехов.
@diswinger
@diswinger 10 месяцев назад
Спасибо тебе огромное, лучший курс который я видел, желаю тебе популярности
@olecksandrghud8581
@olecksandrghud8581 10 месяцев назад
лутьше всяких инфоциган!
@olecksandrghud8581
@olecksandrghud8581 10 месяцев назад
спс,есть код?
@AlexMedovnik
@AlexMedovnik 10 месяцев назад
github.com/AleksMedovnik/video-tutorials_django_code
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок!
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок!
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок!
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок!
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок!
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок!
@МастерС-л4у
@МастерС-л4у 11 месяцев назад
Спасибо за урок