Спустя 6 часов реального времени между фотками на курсе прошло 3 часа. Чую что-то тут не чисто🧐🧐🧐
❤3😁2🤩1
Всем доброе утро! Ну а что? Считаю, когда проснулся - тогда и утро😼
Так вот, вчера просмотрел теорию по темам ниже, порешал задачки. Но оставил несколько штук на завтра, чтобы еще раз просмотреть видео и прорешать еще раз, так сказать обновить багаж забытых знаний. Но тут я попал я попал в какое-то утро сурка😬 (Отсылка к фильму "день сурка", вдруг кто не видел). Проснулся ж значит, и по плану было повторить темы замыкания, декораторы. и декораторы с параметрами. Достал наушники, (чтобы соседи не мешали своим ремонтом😬😬😬). включаю значит. Тему с замыканиями прослушал. Дальше декораторы пошли. И хоба, прикемарил на минуте 3-5-ой. Смотрел с закрытыми глазами. Думаю ну ладно, раз последнюю часть не помню - дай повторю. Ииии...опять уснул. В итоге так было раз 5😂😂😂Дольше 5 минуты видео не доходил. В итоге потом с открытыми глазами дослушал. Ах да, я еще поставил изначально скорость на 0.75(мб поэтому и засыпал), чтобы лучше понять. Хотя автор и так достаточно не быстро говорить, но решил все равно замедлить, дабы не останавливать видео на каких-то моментах каждый. раз. Вот такое вот утро вышло. Только в дне сурка главный герой много чего разного успевал изучить, а я, блин, один и тот же материал по кругу, не до конца😢
Сделанное за вчера и сегодня утро:
🔘) Почти час видео (150+ минут, если быть точнее😑😑😑), все еще не лень считать)😄
🔘) Дорешены задачи в этой главе 👇
🔘) Допройдена глава про функции:
1) Функции: Темы: Области видимости переменных. Ключевые слова global и nonlocal; Замыкания в Python; Декораторы функций, Декораторы с параметрами
Более подробно - почитает тут (первые 9-12 тем слева)
Основные моменты из этого материала:
1) Замыкания. Сейчас на кривом русском попробую объяснить как я это понимаю.🙃Мне кажется на собесе лучше так не отвечать😂Читайте на свой страх и риск запутаться😅
Крч. как я вижу это, Если мы создаем функцию, внутри которой создается другая функция. Затем мы возвращаем внутреннюю функцию(без вызова). просто ссылку(имя) на нее. Далее в программе результат вызова внешней функции присваиваем какой-то глобальной переменной - это и будет ссылка на нашу внутреннюю функцию. И можем ее вызывать, причем с теми переменными, которые были в параметрах внешней функции. Хотя казалось бы внешняя функция уже завершила свою работу( мы ее же вызывали). Однако, пока у нас имеется глобальная ссылка на внутреннее локальное окружение(внутренней функции), то это окружение не удаляется сборщиком мусора, и поэтому существует и следующее внешнее окружение внешней функции для этой внутренней функции, и т.д. А значит и все переменные для внутренней функций из внешней. Уф🫣
отом отдельный пост, с картинкой и пояснением из текста автора, так думаю будет нагляднее
2) Декораторы. Это и есть замыкания, на них они работают. Декораторы - это "обёртка" для функии. Т.е. позволяет изменить поведение функции, не изменяя ее саму. Логика такая же как в замыканиях.
3) Декораторы с параметрами. Это тот же декоратор, но только мы обычный декоратор оборачиваем еще одной функцией, в параметры которые можем что-то передать. Тем самым еще добавить изменений, к уже обновленной версии работы функции.
Простой пример. Есть функция, которая считает значение косинуса в точке "х"(которую мы передаем в эту функцию". Мы можем создать декоратор, который будет считать производную численно с какой-то фиксированной точностью dx. Т.е. функция вместо косинуса х будет считать значение производной в этой точке. А если декоратор с параметрами. то мы можем например выбирать эту точность dx, до нужной нам дельты. Вот и вся суть🙃
Итоги дня и выводы:
Ой помню как у меня полыхало в первый раз от непонимания этих тем😂Но потом разобрался и все прошло) Не отчаивайтесь если что-то не получается, просто вам нужно чуть больше времени и практики для этого. А в данном случае главное понять как работают области видимости и замыкание, и тогда проблем с декораторами не будет. А если как я иногда забываете в них что-то - ничего страшного, потом легко можете восполнить знания, повторив теорию и написав несколько штук.
Так вот, вчера просмотрел теорию по темам ниже, порешал задачки. Но оставил несколько штук на завтра, чтобы еще раз просмотреть видео и прорешать еще раз, так сказать обновить багаж забытых знаний. Но тут я попал я попал в какое-то утро сурка😬 (Отсылка к фильму "день сурка", вдруг кто не видел). Проснулся ж значит, и по плану было повторить темы замыкания, декораторы. и декораторы с параметрами. Достал наушники, (чтобы соседи не мешали своим ремонтом😬😬😬). включаю значит. Тему с замыканиями прослушал. Дальше декораторы пошли. И хоба, прикемарил на минуте 3-5-ой. Смотрел с закрытыми глазами. Думаю ну ладно, раз последнюю часть не помню - дай повторю. Ииии...опять уснул. В итоге так было раз 5😂😂😂Дольше 5 минуты видео не доходил. В итоге потом с открытыми глазами дослушал. Ах да, я еще поставил изначально скорость на 0.75(мб поэтому и засыпал), чтобы лучше понять. Хотя автор и так достаточно не быстро говорить, но решил все равно замедлить, дабы не останавливать видео на каких-то моментах каждый. раз. Вот такое вот утро вышло. Только в дне сурка главный герой много чего разного успевал изучить, а я, блин, один и тот же материал по кругу, не до конца😢
Сделанное за вчера и сегодня утро:
🔘) Почти час видео (150+ минут, если быть точнее😑😑😑), все еще не лень считать)😄
🔘) Дорешены задачи в этой главе 👇
🔘) Допройдена глава про функции:
1) Функции: Темы: Области видимости переменных. Ключевые слова global и nonlocal; Замыкания в Python; Декораторы функций, Декораторы с параметрами
Б
Основные моменты из этого материала:
1) Замыкания. Сейчас на кривом русском попробую объяснить как я это понимаю.🙃Мне кажется на собесе лучше так не отвечать😂Читайте на свой страх и риск запутаться😅
отом отдельный пост, с картинкой и пояснением из текста автора, так думаю будет нагляднее
2) Декораторы. Это и есть замыкания, на них они работают. Декораторы - это "обёртка" для функии. Т.е. позволяет изменить поведение функции, не изменяя ее саму. Логика такая же как в замыканиях.
3) Декораторы с параметрами. Это тот же декоратор, но только мы обычный декоратор оборачиваем еще одной функцией, в параметры которые можем что-то передать. Тем самым еще добавить изменений, к уже обновленной версии работы функции.
Простой пример. Есть функция, которая считает значение косинуса в точке "х"(которую мы передаем в эту функцию". Мы можем создать декоратор, который будет считать производную численно с какой-то фиксированной точностью dx. Т.е. функция вместо косинуса х будет считать значение производной в этой точке. А если декоратор с параметрами. то мы можем например выбирать эту точность dx, до нужной нам дельты. Вот и вся суть🙃
Итоги дня и выводы:
Ой помню как у меня полыхало в первый раз от непонимания этих тем😂Но потом разобрался и все прошло) Не отчаивайтесь если что-то не получается, просто вам нужно чуть больше времени и практики для этого. А в данном случае главное понять как работают области видимости и замыкание, и тогда проблем с декораторами не будет. А если как я иногда забываете в них что-то - ничего страшного, потом легко можете восполнить знания, повторив теорию и написав несколько штук.
👍6❤1
**✅Викторина. Что выведет этот код? **
my_tuple = (-4.3, True, [15, 16], {'Кодим': 'Вместе'}, {'r', 'g', b''})
my_tuple[2].append(23) print(my_tuple)
my_tuple = (-4.3, True, [15, 16], {'Кодим': 'Вместе'}, {'r', 'g', b''})
my_tuple[2].append(23) print(my_tuple)
Anonymous Quiz
17%
NameError: name 'b' is not defined
6%
(-4.3, True, [15, 16], {'Кодим': 'Вместе'}, {'r', 'g', b''})
33%
Ошибка: 'tuple' object does not support item assignment
44%
(-4.3, True, [15, 16, 23], {'Кодим': 'Вместе'}, {b'', 'r', 'g'})
🤯3
Немного повозмущаюсь🙂Проснулся сегодня в 9 утра. Нет, не по будильнику, а по стуку соседей от ремонта😬 Ни стыда, ни совести. Мало того что выходной, так еще и праздник сегодня. Кстати, если есть тут учителя, то с праздником вас!)
Вчерашние занятия:
🔘) Около полутора часа видео (88+ минут, если быть точнее), все еще не лень считать)😄
🔘) Тесты все по темам👇 сделаны, т.к. там почти нет задач.
🔘) Пройдена глава про👇:
1) Модули и пакеты. Работа с файлами: Темы: Импорт стандартных модулей. Команды import и from; Импорт собственных модулей; Установка сторонних модулей (pip install). Пакетная установка; Пакеты (package) в Python. Вложенные пакеты; Функция open. Чтение данных из файла; Исключение FileNotFoundError и менеджер контекста (with) для файлов; Запись данных в файл в текстовом и бинарном режимах.
подробно - почитаете тут слева
Основные моменты из этого материала:
0) Для начала что такое модули пакеты.
Модуль - это просто любая программа на питоне с расширением "py", а пакет - это набор(в папке) таких модулей, но где еще присутствует файл __init__.py. В нем прописывается, что будет импортироваться при команде import my_packet. Более подробно изучите сами.
1) Import.
Думаю уже все вы хоть раз этим пользовались. И знаете как это использовать, но есть несколько ньюансов и как лучше это делать. Например не надо импортировать всё, через звездочку(*). Может возникнуть конфликт имен при подключении нескольких модулей, не понятно какая функция откуда взята, в случае ошибки или неверной работы программы. Можно так же создавать эллиасы импортируемых переменных, функций, и т.д. для более короткого кода и/или возможности например задать в программе переменную/функцию с таким же именем.
Когда вы импортируете модуль в Python (с помощью import), весь его код выполняется сразу же, при чем не важно отправили ли вы весь модуль или конкретно что-то. Т.е. если у вас есть какие-то принты или вызовы функций и т.д., то они выполнятся. Это важно понимать. Я раньше не догонял почему так происходит...Ведь я же не весь собственный модуль импортировал, а только необходимые мне данные. И комментировал лишние вызовы😅 Но это можно сделать проще. Если вы не хотите, чтобы какие-то команды исполнялись в другом файле при импортировании в него другого модуля, достаточно в нем прописать:
Если вы запустите файл с таким содержимым напрямую, вы выполните строчки в пространстве после if. Если же вы импортируете этот модуль внутри другого файла, то код внутри этого блока не выполнится там. Так происходит потому что специальная переменная "__name__" содержит имя модуля. При прямом запуске файла она принимает значение "__main__", а при импорте — имя своего модуля. Поэтому при импорте не выполняется условие проверки и код внутри не выполняется. Надеюсь понятно объяснил)
2) Работа с файлом
Лучше всего работать с файлами из менеджера контекста. А еще желательно обворачивать это в блок в try-except. Это нужно для того, чтобы не потерять данные или не повредить файл при неуспешой работе с ним. (хотя я пока что такого не видел, но так говорят что надо😅)
3) Режимы при работе с файлом.
Есть несколько основных 'r' - от 'read' - при чтении файла, 'w' - от 'write' - при записи в файл(создает файл если не было, и перезаписывает все данные в нем, если были), 'a' от 'append' - при дозаписи в конец файла.
4) Относительные и абсолютные пути для открытия файла.
Итоги дня и выводы:
Относительно чиловый день выдался. Посмотрел, поотвечал на тесты. Но не понравилось что нет практических задач в этой главе. Так же про взаимодействие с json не рассказано. А думается мне, что с ним больше всего надо быть знакомым и уметь загружать и распарсивать данные с этим типом данных, хотя логика взаимодействия такая же. От малой практики в этой теме до сих пор путаю load(), dump(). Что грузит, чтто парсит🫡🫡🫡Есть такие же тут или я один такой забывчивый?)😁
Вчерашние занятия:
🔘) Около полутора часа видео (88+ минут, если быть точнее), все еще не лень считать)😄
🔘) Тесты все по темам👇 сделаны, т.к. там почти нет задач.
🔘) Пройдена глава про👇:
1) Модули и пакеты. Работа с файлами: Темы: Импорт стандартных модулей. Команды import и from; Импорт собственных модулей; Установка сторонних модулей (pip install). Пакетная установка; Пакеты (package) в Python. Вложенные пакеты; Функция open. Чтение данных из файла; Исключение FileNotFoundError и менеджер контекста (with) для файлов; Запись данных в файл в текстовом и бинарном режимах.
Основные моменты из этого материала:
0) Для начала что такое модули пакеты.
Модуль - это просто любая программа на питоне с расширением "py", а пакет - это набор(в папке) таких модулей, но где еще присутствует файл __init__.py. В нем прописывается, что будет импортироваться при команде import my_packet. Более подробно изучите сами.
1) Import.
Думаю уже все вы хоть раз этим пользовались. И знаете как это использовать, но есть несколько ньюансов и как лучше это делать. Например не надо импортировать всё, через звездочку(*). Может возникнуть конфликт имен при подключении нескольких модулей, не понятно какая функция откуда взята, в случае ошибки или неверной работы программы. Можно так же создавать эллиасы импортируемых переменных, функций, и т.д. для более короткого кода и/или возможности например задать в программе переменную/функцию с таким же именем.
Когда вы импортируете модуль в Python (с помощью import), весь его код выполняется сразу же, при чем не важно отправили ли вы весь модуль или конкретно что-то. Т.е. если у вас есть какие-то принты или вызовы функций и т.д., то они выполнятся. Это важно понимать. Я раньше не догонял почему так происходит...Ведь я же не весь собственный модуль импортировал, а только необходимые мне данные. И комментировал лишние вызовы😅 Но это можно сделать проще. Если вы не хотите, чтобы какие-то команды исполнялись в другом файле при импортировании в него другого модуля, достаточно в нем прописать:
if __name__ == '__main__':
# блок команд, которые не должны выполнять при импорте
print(f'Я хочу вывестись в другом модуле, но мне не дают это сделать!(')
Если вы запустите файл с таким содержимым напрямую, вы выполните строчки в пространстве после if. Если же вы импортируете этот модуль внутри другого файла, то код внутри этого блока не выполнится там. Так происходит потому что специальная переменная "__name__" содержит имя модуля. При прямом запуске файла она принимает значение "__main__", а при импорте — имя своего модуля. Поэтому при импорте не выполняется условие проверки и код внутри не выполняется. Надеюсь понятно объяснил)
2) Работа с файлом
Лучше всего работать с файлами из менеджера контекста. А еще желательно обворачивать это в блок в try-except. Это нужно для того, чтобы не потерять данные или не повредить файл при неуспешой работе с ним. (хотя я пока что такого не видел, но так говорят что надо😅)
3) Режимы при работе с файлом.
Есть несколько основных 'r' - от 'read' - при чтении файла, 'w' - от 'write' - при записи в файл(создает файл если не было, и перезаписывает все данные в нем, если были), 'a' от 'append' - при дозаписи в конец файла.
4) Относительные и абсолютные пути для открытия файла.
Итоги дня и выводы:
Относительно чиловый день выдался. Посмотрел, поотвечал на тесты. Но не понравилось что нет практических задач в этой главе. Так же про взаимодействие с json не рассказано. А думается мне, что с ним больше всего надо быть знакомым и уметь загружать и распарсивать данные с этим типом данных, хотя логика взаимодействия такая же. От малой практики в этой теме до сих пор путаю load(), dump(). Что грузит, чтто парсит🫡🫡🫡Есть такие же тут или я один такой забывчивый?)😁
👍3
**✅Викторина. Закрепляем знания **
Что выведет код из комментария под постом?
Что выведет код из комментария под постом?
Anonymous Quiz
7%
(-4.3, True, [15, 16], {'Кодим': 'Вместе'}, {b'', 'r', 'g'})
7%
NameError: name 'b' is not defined
3%
(-4.3, True, None, {'Кодим': 'Вместе'}, {'r', 'g', b''})
38%
TypeError: 'tuple' object does not support item assignment
45%
(-4.3, True, [15, 16, 23], {'Кодим': 'Вместе'}, {'g', 'r', b''})
👍2🤔1
Между делом прошел подтверждение знаний по базе (1 из 3 уровней) Python на хедхантере. Не знаю зачем сделал, но пусть будет🙃
Говорится, что это даст преимущество перед остальными соискателями. Но я не уверен, что это вообще работает. А вы что думаете?🤔
Говорится, что это даст преимущество перед остальными соискателями. Но я не уверен, что это вообще работает. А вы что думаете?🤔
👍3🤨2🔥1
Вчера проходил предпоследнюю главу в текущем курсе. Но не всё так гладко вышло, как хотелось бы)
Прошел половину, встрял на задачах с zip. Какие-то муторные мне они показались. Чё-то там свернуть, развернуть, запаковать, распаковать..Ну либо, скорее всего, я чего-то не понял до конца. Крч, решил отдохнуть. Отдых растянулся, ну и естественно к учебе больше вчера не притронулся)))
Сегодня с утра(когда проснулся) начал заниматься. Думал, быстренько закончу и начну новую главу. Ага не тут то было)) Несмотря на то, что оставшиеся темы: all, any, isinstance, type, sort,sorted(key=lambda x: бла_бла_бла(x)) я ранее проходил, но застрял на задачках больше, чем планировал. В итоге только сейчас закончил.
Скоро напишу поподробнее об этом.
Прошел половину, встрял на задачах с zip. Какие-то муторные мне они показались. Чё-то там свернуть, развернуть, запаковать, распаковать..Ну либо, скорее всего, я чего-то не понял до конца. Крч, решил отдохнуть. Отдых растянулся, ну и естественно к учебе больше вчера не притронулся)))
Сегодня с утра(когда проснулся) начал заниматься. Думал, быстренько закончу и начну новую главу. Ага не тут то было)) Несмотря на то, что оставшиеся темы: all, any, isinstance, type, sort,sorted(key=lambda x: бла_бла_бла(x)) я ранее проходил, но застрял на задачках больше, чем планировал. В итоге только сейчас закончил.
Скоро напишу поподробнее об этом.
👍3
Не любители длинных текстов сразу листайте к концу поста🫡🫡🫡
Вчера + сегодня полдня:
✅) Теория - 77 минут видео
✅) Практика - задачи по ней же 👇
✅) Завершена глава про:
1) Генераторы и некоторые полезные функции: Темы: Выражения генераторы; Функция-генератор. Оператор yield; Функции: map, filter, zip, any, all, isinstance, type; Особенности сортировки через sort() и sorted(), key=lambda;
Подробнее уже сами знаете где найти.
Основные моменты из этого материала:
1) Выражения-генераторы:
Это объект-генератор. Можно получить из него значения по одному через метод next(). При переборе всех элементов становится пустым. Если после истощения вызывать next - словим ошибку "StopIteration". Так же является итерируемым объектом, поэтому можно перебирать и через цикл for, например.
2) Функция-генератор:
В принципе тоже самое что предыдущий пункт. Только есть отличие от обычных. В этой функции вместо return прописывают yield. И после этого оператора yield обычная функция становится функией-генератором. Так же «замораживает» свое состояние, вместе с локальными переменными до следующего вызова функции next(). В этом и заключается роль оператора yield.
3) Сортировка sort(), sorted():
По умолчанию сортировка ведется по значениям элементов коллекции. Но мы можем упорядочить с помощью различных способов, передавая в аргумент "key" функцию, по результатам которой будут сортироваться наши данные. Простой пример допустим у нас есть список lst = ["Москва", "Тверь", "Смоленск", "Псков", "Рязань"]:
возвращает список, упорядоченный по длине слов в нем, а во втором варианте - сортировка по последней букве слова в обратном порядке. Можно реализовывать и более сложные варианты, все в вашей фантазии)
4) Проверка типа объекта:
isinstance() vs type() возвращают True или False. У обоих одинаковый функционал, с небольшим различием. type() проверяет точное совпадение с типом данных, а isinstance() в отличие от type() делает проверку с учетом иерархии наследования объектов и была разработана для проверки принадлежности объекта тому или иному классу. Например, тип bool наследуется от int, поэтому isinstance() выдает True для типов int и bool; a type() выдаст True и False соответственно.
5) any, all, filter:
Используйте для фильтрации ваших данных, простой синтаксис - добавить нечего)
Заключение:
После этой главы вы будете: Понимать что такое генератор и функция-генератор. Уметь пользоваться функциями для сортировки значений. Умело применять возможности для фильтрации и проверки данных. Проверять правильно типы данных объектов. Ну и map😁
Вчера + сегодня полдня:
✅) Теория - 77 минут видео
✅) Практика - задачи по ней же 👇
✅) Завершена глава про:
1) Генераторы и некоторые полезные функции: Темы: Выражения генераторы; Функция-генератор. Оператор yield; Функции: map, filter, zip, any, all, isinstance, type; Особенности сортировки через sort() и sorted(), key=lambda;
Подробнее уже сами знаете где найти.
Основные моменты из этого материала:
1) Выражения-генераторы:
Это объект-генератор. Можно получить из него значения по одному через метод next(). При переборе всех элементов становится пустым. Если после истощения вызывать next - словим ошибку "StopIteration". Так же является итерируемым объектом, поэтому можно перебирать и через цикл for, например.
2) Функция-генератор:
В принципе тоже самое что предыдущий пункт. Только есть отличие от обычных. В этой функции вместо return прописывают yield. И после этого оператора yield обычная функция становится функией-генератором. Так же «замораживает» свое состояние, вместе с локальными переменными до следующего вызова функции next(). В этом и заключается роль оператора yield.
3) Сортировка sort(), sorted():
По умолчанию сортировка ведется по значениям элементов коллекции. Но мы можем упорядочить с помощью различных способов, передавая в аргумент "key" функцию, по результатам которой будут сортироваться наши данные. Простой пример допустим у нас есть список lst = ["Москва", "Тверь", "Смоленск", "Псков", "Рязань"]:
print( sorted(lst, key=len)
print( sorted(lst, key=lambda x: x[-1]), reverse=True)
возвращает список, упорядоченный по длине слов в нем, а во втором варианте - сортировка по последней букве слова в обратном порядке. Можно реализовывать и более сложные варианты, все в вашей фантазии)
4) Проверка типа объекта:
isinstance() vs type() возвращают True или False. У обоих одинаковый функционал, с небольшим различием. type() проверяет точное совпадение с типом данных, а isinstance() в отличие от type() делает проверку с учетом иерархии наследования объектов и была разработана для проверки принадлежности объекта тому или иному классу. Например, тип bool наследуется от int, поэтому isinstance() выдает True для типов int и bool; a type() выдаст True и False соответственно.
5) any, all, filter:
Используйте для фильтрации ваших данных, простой синтаксис - добавить нечего)
Заключение:
После этой главы вы будете: Понимать что такое генератор и функция-генератор. Уметь пользоваться функциями для сортировки значений. Умело применять возможности для фильтрации и проверки данных. Проверять правильно типы данных объектов. Ну и map😁
👍7
Интересная задачка дня
Задача, тесты к ней
Не помню уже почему, но ее скипнул при решение. Возможно что-то не чисто там🤔 Но на взляд выглядит не сложно. Хотя успешный процент решений ниже среднего.🤔
P.S.
Тут как раз пригодится метод rjust(). Ну это один из вариантов для нужного вывода.
Задача, тесты к ней
Не помню уже почему, но ее скипнул при решение. Возможно что-то не чисто там🤔 Но на взляд выглядит не сложно. Хотя успешный процент решений ниже среднего.🤔
P.S.
Тут как раз пригодится метод rjust(). Ну это один из вариантов для нужного вывода.
🔥3
Такс, завершил последнюю главу по доброму курсу🤓🤓🤓
Тут, даже если захочу, много не получится написать😅 Но добавлю, что она у меня растянулась на два дня. Нет, не из-за сложности, а из-за неделания. А почему так было - это уже другой вопрос. Мысли по этому поводу написал в конце.
Что тут было::
✅) Теория - 103 минуты видео
✅) Практика - задачи по ней же 👇
✅) Завершена глава про:
1) Движемся дальше, вглубь😅: Темы: Расширенное представление чисел. Системы счисления; Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операторы; Модуль random стандартной библиотеки; Конструкция match/case: Первое знакомство, примеры со словарями, множествами, списками, кортежами.
Подробнее уже сами знаете где найти.
Основные моменты из этого материала:
1) Конструкция Маtch-case:
Приведу самый простой пример, ибо боюсь что при описывании всех вариантов использования, у меня не хватит буков в посте😄 Пишем "матч", и далее слово, которое будет проверятся по шаблону, если в шаблоне слово после "кейс" подходит под переменную "комманд", то выполняется этот блок кода и конструкция завершает работу, если нет, то идет дальше как в условном операторе.
Что хочу сказать про эту главу:
Первые темы, какие-то странные: Представление чисел, системы счисления, побитовые операции, "включение" и "выключение" битов по номеру. Полезно? Возможно. Пригодится ли часто? Оч. вряд-ли. Думаю поэтому не хотел садиться за материал, т.к. это не видел нужным в дальнейшем. Еще интересно, что если сравнивать с версией материала на его лично сайте(текстовой), то можно увидеть пропущенные 3 главы, которых нет на Степике. А это про аннотации типов данных, включая классы. Посмотрю на досуге как раз.
Далее модуль random и match-case. Это я ранее проходил уже, и знаю, но плохо помню, т.к. было мало практики. Тоже мешали начать заниматься эти дурацкие мысли... Матч-кейс - это же по сути усовершенствованный if/elif/else, но применять надо с умом, и иногда будет излишнем такая конструкция. И еще момент, когда в другом курсе(Про Код, если не ошибаюсь) проходил match-case, то некоторые задания не смог выполнить и пошел еще искать в других местах теорию. И первым же мне выдало видосы с этой последней главы. Просмотрев буквально несколько минут я уже понимал как мне надо доделать задачу. Т.е. теория тут хороша, но практики чуть маловато. Однако тебя тут не проверяют на базовое применение, а в большинстве случаев бросают на передовую😁
P.S.
Этот пост писал минут 40, ужс.Куда так летит время...
Тут, даже если захочу, много не получится написать😅 Но добавлю, что она у меня растянулась на два дня. Нет, не из-за сложности, а из-за неделания. А почему так было - это уже другой вопрос. Мысли по этому поводу написал в конце.
Что тут было::
✅) Теория - 103 минуты видео
✅) Практика - задачи по ней же 👇
✅) Завершена глава про:
1) Движемся дальше, вглубь😅: Темы: Расширенное представление чисел. Системы счисления; Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операторы; Модуль random стандартной библиотеки; Конструкция match/case: Первое знакомство, примеры со словарями, множествами, списками, кортежами.
Подробнее уже сами знаете где найти.
Основные моменты из этого материала:
1) Конструкция Маtch-case:
Приведу самый простой пример, ибо боюсь что при описывании всех вариантов использования, у меня не хватит буков в посте😄 Пишем "матч", и далее слово, которое будет проверятся по шаблону, если в шаблоне слово после "кейс" подходит под переменную "комманд", то выполняется этот блок кода и конструкция завершает работу, если нет, то идет дальше как в условном операторе.
command = "top"
match command:
case 'left':
print("влево")
case "right":
print("вправо")
case _: # wildcard # _ означает абсолютно любой вариант
print("другое")
Что хочу сказать про эту главу:
Первые темы, какие-то странные: Представление чисел, системы счисления, побитовые операции, "включение" и "выключение" битов по номеру. Полезно? Возможно. Пригодится ли часто? Оч. вряд-ли. Думаю поэтому не хотел садиться за материал, т.к. это не видел нужным в дальнейшем. Еще интересно, что если сравнивать с версией материала на его лично сайте(текстовой), то можно увидеть пропущенные 3 главы, которых нет на Степике. А это про аннотации типов данных, включая классы. Посмотрю на досуге как раз.
Далее модуль random и match-case. Это я ранее проходил уже, и знаю, но плохо помню, т.к. было мало практики. Тоже мешали начать заниматься эти дурацкие мысли... Матч-кейс - это же по сути усовершенствованный if/elif/else, но применять надо с умом, и иногда будет излишнем такая конструкция. И еще момент, когда в другом курсе(Про Код, если не ошибаюсь) проходил match-case, то некоторые задания не смог выполнить и пошел еще искать в других местах теорию. И первым же мне выдало видосы с этой последней главы. Просмотрев буквально несколько минут я уже понимал как мне надо доделать задачу. Т.е. теория тут хороша, но практики чуть маловато. Однако тебя тут не проверяют на базовое применение, а в большинстве случаев бросают на передовую😁
P.S.
Этот пост писал минут 40, ужс.Куда так летит время...
👍4❤3
**✅Викторина. Что выведет код ? **
for i in (range(6),):
print('Доброе утро')
for i in (range(6),):
print('Доброе утро')
Anonymous Quiz
26%
Доброе утро! (шесть раз напишет)
64%
SyntaxError: invalid syntax
10%
Доброе утро!
🤔3😭1
Так, сегодня-завтра небольшой отдых. Надо чтобы знания осели в голове😁Хотя какой там. Буду дорешивать пропущенные задачки из последних двух курсов. Чую сегодня у меня немножко подгорит)))
Дальше на очереди курс по ООП. Недавно вспомнил что это такое, все не так плохо, как кажется. Хотя базовые определения и принципы уже не помню😅Ну ничего, надо двигаться дальше. Но не сегодня, не сегодня...
Дальше на очереди курс по ООП. Недавно вспомнил что это такое, все не так плохо, как кажется. Хотя базовые определения и принципы уже не помню😅Ну ничего, надо двигаться дальше. Но не сегодня, не сегодня...
😁3
Интересная задачка дня
Ссылка на условие, ссылка на тесты
Вот эту, например, я пропустил в первый раз. Че-то сидел минут 15-20: и так, и эдак, ничего толкового в голову не приходило. В таких случаях, я уже знаю, лучше временно забить. И вот после всего курса вернулся к ней и быстренько решил. Идея сама меня нашла🙃
Свой вариант решения( в таком виде ***** ) напишу в комменте под постом.
Ссылка на условие, ссылка на тесты
Вот эту, например, я пропустил в первый раз. Че-то сидел минут 15-20: и так, и эдак, ничего толкового в голову не приходило. В таких случаях, я уже знаю, лучше временно забить. И вот после всего курса вернулся к ней и быстренько решил. Идея сама меня нашла🙃
Свой вариант решения(
Между делом, завершил курс Python по полочкам
Если захотите его проходить, то лучше сначала прочитайте сей отзыв о нем. В общем вот:
""""""""""""""""""""""""""""
Оставлю свой отзыв здесь. Надеюсь что потом тут поменяется и курс станет лучше. А пока что...
1) ОЧЕНЬ, НУ ОЧЕНЬ много теории за раз местами. Невозможно это читать.
2) Практики не хватает, вдобавок очень посредственная, мало того что простая, так еще и не проверяет то, что было изложено в теории.
3) Модуль pygame? зачем?!)
4) Изложение условий задач = попа-боль.
5) Проверки - их почти нигде нет. Местами дай бог два варианта есть.
6) Эти проверочные работы...Описание задач еще хуже там, ничего не понятно, копипаста создания проекта в Pycharm.
7) ООП - там вообще отдельная песня, ну я уже писал на этот счет.
8) Местами, и довольно часто, перепутаны условия задач, выводы не совпадают с предначертанным. Так же иногда просто принтом можно решить, иначе никак не проходит тесты.
А так, я бы из 5 баллов поставил трояк, за старание и проделанную работу. Но вообще выглядит так, будто бы сделали на отшибись как какую-то курсовую к уроку информатики. Уметь преподавать что-то и самому понимать - это совсем разные вещи....
""""""""""""""""""""""""""""
По итогу имеем:
Курс сделан учениками 8 и 11 классов, если верить описанию. Пока что он очень сырой — основные недочеты перечислены выше. Я не стал портить им статистику своим отзывом, а оставил всё замеченное на последнем шаге. В ответ мне сообщили, что сейчас заняты другими задачами, но постараются исправить эти моменты позже. Однако там менять и правда нужно очень многое. Так что проходить или нет — решать вам.
Если захотите его проходить, то лучше сначала прочитайте сей отзыв о нем. В общем вот:
""""""""""""""""""""""""""""
Оставлю свой отзыв здесь. Надеюсь что потом тут поменяется и курс станет лучше. А пока что...
1) ОЧЕНЬ, НУ ОЧЕНЬ много теории за раз местами. Невозможно это читать.
2) Практики не хватает, вдобавок очень посредственная, мало того что простая, так еще и не проверяет то, что было изложено в теории.
3) Модуль pygame? зачем?!)
4) Изложение условий задач = попа-боль.
5) Проверки - их почти нигде нет. Местами дай бог два варианта есть.
6) Эти проверочные работы...Описание задач еще хуже там, ничего не понятно, копипаста создания проекта в Pycharm.
7) ООП - там вообще отдельная песня, ну я уже писал на этот счет.
8) Местами, и довольно часто, перепутаны условия задач, выводы не совпадают с предначертанным. Так же иногда просто принтом можно решить, иначе никак не проходит тесты.
А так, я бы из 5 баллов поставил трояк, за старание и проделанную работу. Но вообще выглядит так, будто бы сделали на отшибись как какую-то курсовую к уроку информатики. Уметь преподавать что-то и самому понимать - это совсем разные вещи....
""""""""""""""""""""""""""""
По итогу имеем:
Курс сделан учениками 8 и 11 классов, если верить описанию. Пока что он очень сырой — основные недочеты перечислены выше. Я не стал портить им статистику своим отзывом, а оставил всё замеченное на последнем шаге. В ответ мне сообщили, что сейчас заняты другими задачами, но постараются исправить эти моменты позже. Однако там менять и правда нужно очень многое. Так что проходить или нет — решать вам.
🤨4
Наткнулся на один видос с проверкой знаний на позицию джуна. Не официальное трудоустройтво, но проводит какой-то человек с большим опытом в айти. А собеседуемый уже минуту с лишним считает и думает что выведет обычный срез. Я хз, как так) У меня флешбеки всплывают. Подобное я уже видел. Или это такая сложная тема, которая вызывает срез головного мозга?🙈Так что кол-во откликов на вакансию ничего еще не говорит😁
🔥4
**✅Викторина. Что выведет код ? **
смотрите в комментарий под постом
смотрите в комментарий под постом
Anonymous Quiz
48%
[1, 2, 3, 4]
6%
SyntaxError: cannot assign to comparison
42%
[1, 2, 3, 4, 5, 6]
4%
SyntaxError: invalid syntax
🤔4😁1
**✅Викторина. Что выведет код ? **
смотрите в комментарий под постом
смотрите в комментарий под постом
Anonymous Quiz
26%
'text1'
35%
'text2'
12%
'None'
24%
'text1\ntext2'
3%
'text2\ntext1'
🤔2🔥1😎1