Друзья, сегодня поговорим о positional-only и keyword-only параметрах функций. 😉
❤️ Параметры positional-only — это параметры, которым можно передать только позиционные аргументы. В определении функции такие параметры указываются перед символом
В приведенном ниже коде:
Если positional-only параметру передать именованный аргумент, будет возбуждено исключение
❤️ Параметры keyword-only — это параметры, которым можно передать только именованные аргументы. В определении функции такие параметры указываются после символа
В приведенном ниже коде:
Если keyword-only параметру передать позиционный аргумент, будет возбуждено исключение
😌 Параметры positional-only и keyword-only можно использовать одновременно в одном определении функции, в том числе вместе с обязательными и необязательными параметрами в любых сочетаниях, например, так:
❤️ Основная цель добавления параметров positional-only и keyword-only — это улучшение читаемости и ясности кода, а также бóльшая гибкость в управлении интерфейсом функций. Например, параметры positional-only позволяют менять имена в определении функции без риска нарушить обратную совместимость, а параметры keyword-only гарантируют ясность и узнаваемость при вызове функции.
Ставьте реакцию:
🔥 — если знали про positional-only и keyword-only параметры
👀 — если слышите о них впервые
🔝 🔝 🔝 Сохраняйте пост в избранное, точно пригодится! ✍🏻
#поколениеpython #полезныйматериал
/, который записывается как один из параметров.В приведенном ниже коде:
def add(a, /, b=2):
return a + b
print(add(1, 3)) # 4
print(add(1, b=3)) # 4
a — параметр positional-only, b — обычный необязательный параметр.Если positional-only параметру передать именованный аргумент, будет возбуждено исключение
TypeError.*, который записывается как один из параметров.В приведенном ниже коде:
def add(a, *, b=2):
return a + b
print(add(a=1, b=3)) # 4
print(add(1, b=3)) # 4
a — обычный обязательный параметр, b — параметр keyword-only.Если keyword-only параметру передать позиционный аргумент, будет возбуждено исключение
TypeError.def add(a, /, b, c, *, d):
return a + b + c + d
Ставьте реакцию:
🔥 — если знали про positional-only и keyword-only параметры
👀 — если слышите о них впервые
#поколениеpython #полезныйматериал
Please open Telegram to view this post
VIEW IN TELEGRAM
👀80🔥52 9❤7👍3 3👏2💯1🆒1
Друзья, баги повсюду! 😁
Попробуйте замените слово в названии фильма словом "баг". 🪲
Мы начнем:
🌱 Унесенные багами
🌱 Список багов
🔵 Темный баг
Ставьте реакцию:
🔥 — если угадали оригиналы всех фильмов из поста
👀 — если что-то осталось непонятным
#поколениеpython
Попробуйте замените слово в названии фильма словом "баг". 🪲
Мы начнем:
Ставьте реакцию:
🔥 — если угадали оригиналы всех фильмов из поста
👀 — если что-то осталось непонятным
#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥58👀37 10 8👾3🙊2❤1🆒1
Друзья, разберем задачу с собеседований! 😌
📍 Данную задачу можно решить несколькими способами. Приведем один из них:
💡 Минимальный элемент в исходном списке остался минимальным и после прибавления, только увеличился вдвое. Заведем вспомогательный список
Также можно воспользоваться списочным выражением:
⬇️ Как вы думаете, какова временнáя и пространственная сложность данного алгоритма? Пишите в комментариях. 😉
Ставьте реакцию:
🔥 — если задача показалась вам легкой
👀 — если пришлось основательно подумать над решением
#поколениеpython #собеседования #разборзадачи
def restore_values(nums):
n = len(nums)
result = [0] * n
min_value = min(nums) // 2
for i in range(n):
result[i] = nums[i] - min_value
return result
result c размером, равным размеру входного списка, и заполним его нулями. С помощью функции min() определим минимальный элемент входного списка. В цикле проходим по всем элементам списка result и записываем значение соответствующего элемента входного списка за вычетом минимального значения, уменьшенного вдвое. По завершении цикла возвращаем список result.Также можно воспользоваться списочным выражением:
def restore_values(nums):
min_value = min(nums) // 2
return [num - min_value for num in nums]
Ставьте реакцию:
🔥 — если задача показалась вам легкой
👀 — если пришлось основательно подумать над решением
#поколениеpython #собеседования #разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥41 20👀13❤10 4👏2
Друзья, собрали для вас дайджест публикаций “Поколения” за май. Будем считать его списком чтения на лето! 😉
😵💫 ЗАДАЧИ
🟢 Задача на код №1 и ее разбор
🟢 Задача на код №2 и ее разбор
🟢 Задача про скорость парохода и ее разбор
🟢 Вопрос с собеседования про магический метод new() и ответ на него
😎 ПОЛЕЗНЫЕ МАТЕРИАЛЫ
🟢 Слово недели. Линтер
🟢 Слово недели. Миксин
🟢 Слово недели. Трассировка стека
🟢 Группировка данных в SQL
🟢 Транзитивность операторов
🟢 Метод двух указателей
🟢 Positional-only и keyword-only параметры функций
😮 ПОЗНАВАТЕЛЬНЫЕ ПОСТЫ
🟢 Кто такие фрилансеры
🟢 Структура компьютерной памяти
🟢 Парадокс дней рождения
👩❤️👨 НОВОСТИ “ПОКОЛЕНИЯ”
🟢 Подарки за покупку мерча до 6 июня
🟢 Много новых пинов на Озоне
🟢 Ответы на вопросы от Тимура
🟢 “Поколение” поддержало мероприятие для школьников
Ставьте ❤️ и сохраняйте пост в избранное, чтобы ничего не пропустить!
#дайджест #май2025
Ставьте ❤️ и сохраняйте пост в избранное, чтобы ничего не пропустить!
#дайджест #май2025
Please open Telegram to view this post
VIEW IN TELEGRAM
❤32👍11 7🔥4 3🏆2👾2👻1
Друзья, а вот и новое слово недели! Сегодня поговорим о транзакциях в базах данных. 🙂
🟪 Нередко при работе с базой данных возникает ситуация, когда нужно выполнить несколько разных действий, но смысл они имеют только при совместном выполнении.
Предположим, что мы пишем банковское ПО, которое должно выполнять три действия:
▫ списание денег со счета отправителя
▫ добавление денег на счет получателя
▫ сохранение информации о произведенном переводе денег
Если во время выполнения любого из этих действий возникнет ошибка, то остальные два тоже нужно отменить.
✔ Такая совокупность связанных действий представляет собой транзакцию. Действия, составляющие транзакцию, должны быть выполнены только все вместе.
🟪 Транзакции обрабатываются транзакционными системами, к которым существует набор требований — ACID. К этим требованиям относятся:
1⃣ Atomicity (атомарность): любая транзакция не может быть частично завершена — она либо выполнена, либо нет.
2⃣ Consistency (согласованность): завершившаяся транзакция должна сохранять согласованность базы данных.
3⃣ Isolation (изолированность): транзакция не должна оказывать влияния на результаты других выполняющихся параллельно с ней транзакций.
4⃣ Durability (устойчивость): изменения, которые сделаны успешно завершенной транзакцией, должны остаться сохраненными после возвращения системы в работу.
😉 Транзакции являются фундаментальным механизмом обеспечения надежности и согласованности данных в любых серьезных приложениях, работающих с базами данных.
Почитать о транзакциях подробнее можно по ссылке.
Ставьте реакцию:
🔥 — если знали, что такое транзакция
👀 — если слышите этот термин впервые
🔝 🔝 🔝 Сохраняйте пост в избранное, точно пригодится! ✍🏻
#словонедели #поколениеpython
Предположим, что мы пишем банковское ПО, которое должно выполнять три действия:
Если во время выполнения любого из этих действий возникнет ошибка, то остальные два тоже нужно отменить.
Почитать о транзакциях подробнее можно по ссылке.
Ставьте реакцию:
🔥 — если знали, что такое транзакция
👀 — если слышите этот термин впервые
#словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥68👀42❤15 11 4✍2🆒2
Друзья, решаем задачу, от которой очень хочется мороженого! 😁
🧠 🧠 🧠 🧠
Команда "Поколения" решила подарить Тимуру целую коробку мороженого. Им нужно выяснить, какое именно мороженое любит Тимур.
Команда опросила трех знакомых Тимура, и все они сказали разные вещи:
🩵 первый сказал, что Тимур любит малиновый щербет
🩵 второй уверен, что Тимур обожает шоколадный пломбир
🩵 третий сообщил, что Тимур любит джелато, но точно не малиновое
С помощью детектора лжи, который нашелся у Артура старшего, команде удалось выяснить, что каждый опрошенный ошибся или в виде, или во вкусе мороженого.😔
Помогите команде "Поколения" найти ответ! Свои варианты и ход мысли пишите в комментариях, не забываяпро скрытый текст.
Ставьте реакцию:
🔥 — если любите мороженое
👀 — если равнодушны к нему
#задача #поколениеpython
Команда "Поколения" решила подарить Тимуру целую коробку мороженого. Им нужно выяснить, какое именно мороженое любит Тимур.
Команда опросила трех знакомых Тимура, и все они сказали разные вещи:
С помощью детектора лжи, который нашелся у Артура старшего, команде удалось выяснить, что каждый опрошенный ошибся или в виде, или во вкусе мороженого.
Помогите команде "Поколения" найти ответ! Свои варианты и ход мысли пишите в комментариях, не забывая
Ставьте реакцию:
🔥 — если любите мороженое
👀 — если равнодушны к нему
#задача #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥99👀29❤8 5⚡1🏆1🍾1👨💻1 1
Друзья, сегодня поговорим о системах счисления. 😍
❤️ Система счисления — это способ записи чисел с помощью определенного набора символов, называемых цифрами.
Сегодня существует множество разных систем счисления. В одних системах значение каждой цифры зависит от ее позиции в записи числа, а в других — нет. На основе этого свойства все системы счисления делятся на две группы: позиционные и непозиционные.
❤️ Непозиционная система счисления — это система счисления, в которой значение каждой цифры не зависит от ее позиции в записи числа. Где бы цифра ни находилась, она всегда имеет одно и то же значение.
К непозиционным системам счисления относятся, например:
❤️ унарная
❤️ египетская, представлена на картинке 😵💫
❤️ римская
❤️ Позиционная система счисления — это система счисления, в которой значение каждой цифры зависит от ее позиции в записи числа. При перемещении цифры с одного места на другое ее значение меняется.
К позиционным системам счисления относятся, например:
❤️ двоичная
❤️ десятичная, является основной и используется повсеместно
❤️ шестнадцатеричная
😌 Существует мнение, что десятичная система счисления стала основной, потому что в древности люди для подсчета предметов загибали пальцы рук. Их у человека десять, поэтому люди стали считать вещи десятками.
😃 Раньше в Китае использовалась пятеричная система счисления, основанная на количестве пальцев на одной руке. У ацтеков, майя и некоторых народов Африки применялась двадцатеричная система, которая учитывала общее число пальцев на руках и ногах. Помимо этого существовала двенадцатеричная система, основанная на подсчете фаланг пальцев.
Ставьте реакцию:
🔥 — если знали о всех перечисленных системах счисления
👀 — если узнали о некоторых впервые
#поколениеpython #япознаюмир #системысчисления
Сегодня существует множество разных систем счисления. В одних системах значение каждой цифры зависит от ее позиции в записи числа, а в других — нет. На основе этого свойства все системы счисления делятся на две группы: позиционные и непозиционные.
К непозиционным системам счисления относятся, например:
К позиционным системам счисления относятся, например:
Ставьте реакцию:
🔥 — если знали о всех перечисленных системах счисления
👀 — если узнали о некоторых впервые
#поколениеpython #япознаюмир #системысчисления
Please open Telegram to view this post
VIEW IN TELEGRAM
60👀80🔥62❤15 7 6👍2❤🔥1👻1
Друзья, принесли вам новый вопрос с собеседований! 😌
Что такое метод класса? Как его создать? Чем методы класса отличаются от методов экземпляра класса?
🤍 Делитесь в комментариях своими ответами на вопрос! 😍
Ставьте реакцию:
🔥 — если уже прошли собеседование и работаете в IT
❤️ — если еще на пути к этой цели
#поколениеpython #собеседования
Что такое метод класса? Как его создать? Чем методы класса отличаются от методов экземпляра класса?
Ставьте реакцию:
🔥 — если уже прошли собеседование и работаете в IT
❤️ — если еще на пути к этой цели
#поколениеpython #собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
❤92🔥21 12 3👍2👻2❤🔥1
Друзья, сегодня поговорим о методе скользящего окна. 😌
📎 Ранее мы рассмотрели технику обработки последовательностей под названием метод двух указателей. Вариант реализации метода двух указателей, при котором направление движения указателей совпадает, часто выделяют в качестве отдельной техники и называют методом скользящего окна. Под окном здесь подразумевается область, заключенная между указателями, которая "скользит" вдоль последовательности и просматривает часть ее элементов.
✔️ Указатели могут находится на одинаковых или разных начальных позициях и перемещаться в одном направлении с равной или неравной скоростью. Например:
🟢 два указателя движутся направо с неравной скоростью, начиная с одной и той же позиции — первой
🟢 два указателя движутся направо с равной скоростью, при этом один из них начинает с первой позиции, а другой — с третьей
🟢 два указателя движутся направо с неравной скоростью, при этом один из них начинает с первой позиции, а другой — с четвертой
✔️ Если указатели движутся с одинаковой скоростью, то длина образованного ими окна всегда будет одной и той же. Если же указатели движутся с разной скоростью, то длина образованного ими окна постоянно меняется.
📎 Метод скользящего окна позволяет эффективно решать множество различных задач, связанных с обработкой последовательностей. Он довольно часто встречается на алгоритмических собеседованиях. 😉
Ставьте реакцию:
🔥 — если знали о методе скользящего окна
👀 — если узнали о нем впервые
🔝 🔝 🔝 Сохраняйте пост в избранное, точно пригодится! ✍🏻
#поколениеpython #курспоалгоритмам
[1, 2, 3, 4, 5, 6]
↑↑ [1, 2, 3, 4, 5, 6]↑ ↑ [1, 2, 3, 4, 5, 6]↑ ↑ Ставьте реакцию:
🔥 — если знали о методе скользящего окна
👀 — если узнали о нем впервые
#поколениеpython #курспоалгоритмам
Please open Telegram to view this post
VIEW IN TELEGRAM
👀76🔥37❤14 5 4❤🔥1🤝1
Друзья, открылся последний модуль в нашем новом курсе "Алгоритмы и структуры данных для начинающих"! 😍
В модуль "Структуры данных" вошли темы:
🟢 односвязный список
🟢 двусвязный список
🟢 кольцевой список
🟢 стек
🟢 очередь
🟢 дек
Всего в этом модуле 116 тестовых задач и 96 задач на программирование. После того, как решите их все, у вас точно не останется вопросов по этим темам.😁
☝️ ☝️ ☝️ ☝️ Совсем скоро появятся последние уроки по хеш-таблицам, и курс будет готов на 100%. После этого мы приступим к курсу для продвинутых. 😎 Если хотите первым узнать о его выходе (и о бонусах к курсу), оставьте заявку на сайте.
🚨 🚨 ⚠️ 🚨 ☝️ Также скоро в курсе откроются тестовые алгоритмические собеседования. Их цель — проверить ваши знания по алгоритмам и структурам данных и помочь подготовиться к реальному трудоустройству.
❗️ Тем, кто не успел купить курс на весенней распродаже, дарим промокод АЛГОСЫ. С ним курс по алгоритмам для начинающих будет стоить 4790 рублей вместо 6900. Доступно всего 1️⃣ 0️⃣ активаций промокода.
Ставьте реакцию:
🔥 — если уже проходите курс по алгосам
👀 — если пока проходите другие курсы
#поколениеpython #алгоритмы #скидки
В модуль "Структуры данных" вошли темы:
Всего в этом модуле 116 тестовых задач и 96 задач на программирование. После того, как решите их все, у вас точно не останется вопросов по этим темам.
Ставьте реакцию:
🔥 — если уже проходите курс по алгосам
👀 — если пока проходите другие курсы
#поколениеpython #алгоритмы #скидки
Please open Telegram to view this post
VIEW IN TELEGRAM
👀79🔥47❤13 5👍4 3👻2❤🔥1👏1🎉1🎄1
Друзья, отвечаем на вопрос с собеседований! 😎
🌱 Методы класса, как следует из названия, тесно связаны с классом, в котором они определены. В отличие от методов экземпляра, имеющих обязательный параметр
🌱 Методы класса имеют возможность менять состояние класса, а это, в свою очередь, отражается на всех экземплярах данного класса. Однако менять состояние конкретного объекта, как это делают методы экземпляра, они не могут, так как имеют доступ лишь к классу.
🌱 Для создания методов класса используется декоратор
Приведенный ниже код:
создает в классе
😌 Присутствие параметра
Ставьте реакцию:
🔥 — если знали ответ на вопрос
👀 — если пришлось гуглить
#поколениеpython #собеседования
self, указывающий на экземпляр класса, методы класса имеют обязательный параметр cls, который указывает на сам класс. @classmethod.Приведенный ниже код:
class MyClass:
@classmethod
def my_classmethod(cls):
print('Это метод класса')
print(cls)
MyClass.my_classmethod()
создает в классе
MyClass метод класса my_classmethod() и выводит:Это метод класса<class '__main__.MyClass'>cls в методе класса обязательное. Мы не обязаны называть его cls, однако рекомендуется действовать согласно общепринятой практике.Ставьте реакцию:
🔥 — если знали ответ на вопрос
👀 — если пришлось гуглить
#поколениеpython #собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👀29 12❤5 5✍2👾2🎉1
Друзья, а вы знали, что встроенная в Python функция 😨
🌱 На самом деле
🌱 В первом случае класс
Приведенный ниже код:
выводит:
🌱 Во втором случае класс
🌱 🌱 🌱
Аргумент
Приведенный ниже код:
выводит:
🌱 Python использует класс
Метапрограммирование позволяет быстро и элегантно реализовать некоторые сложные паттерны проектирования. Оно используется во многих инструментах языка. Например, популярный фреймворк Django использует метаклассы, чтобы обеспечить расширяемость и простое переиспользование кода. Однако концепции метапрограммирования зачастую сложны для понимания.
😌 Тим Питерс, один из разработчиков ядра Python, сказал про метапрограммирование следующее:
Почитать подробнее о метапрограммировании в Python можно по ссылке.
Ставьте реакцию:
🔥 — если знали о метапрограммировании
👀 — если слышите о нем впервые
#поколениеpython #полезныйматериал #метапрограммирование
type() — это не просто функция, возвращающая тип объекта? type() — это класс, который имеет два варианта использования: с одним и с тремя аргументами.type принимает в качестве аргумента объект и возвращает его тип.Приведенный ниже код:
print(type(3.14))
print(type('beegeek'))
выводит:
<class 'float'><class 'str'>type динамически создает новый класс, принимая в качестве обязательных аргументов: name — имя создаваемого класса
bases — кортеж родительских классов
dict — словарь атрибутов нового классаАргумент
name становится атрибутом __name__, аргумент bases — атрибутом __bases__, а аргумент dict — атрибутом __dict__ нового класса.Приведенный ниже код:
class Animal:
pass
Dog = type('Dog', (Animal,), {'sound': 'woof'})
print(Dog.__name__)
print(Dog.__bases__)
print(Dog.__dict__)
выводит:
Dog(<class '__main__.Animal'>,){'sound': 'woof', '__module__': '__main__', '__doc__': None}type внутренне для создания всех классов, то есть любой класс в Python является экземпляром класса type. Поэтому класс type называют метаклассом, а программирование с использованием метакласса называется метапрограммированием.Метапрограммирование позволяет быстро и элегантно реализовать некоторые сложные паттерны проектирования. Оно используется во многих инструментах языка. Например, популярный фреймворк Django использует метаклассы, чтобы обеспечить расширяемость и простое переиспользование кода. Однако концепции метапрограммирования зачастую сложны для понимания.
Если вы задаетесь вопросом, нужны ли вам метаклассы, значит, не нужны. Люди, которым нужны метаклассы, точно знают, что нуждаются в них, и не нуждаются в объяснениях почему.
Почитать подробнее о метапрограммировании в Python можно по ссылке.
Ставьте реакцию:
🔥 — если знали о метапрограммировании
👀 — если слышите о нем впервые
#поколениеpython #полезныйматериал #метапрограммирование
Please open Telegram to view this post
VIEW IN TELEGRAM
66👀116🔥49❤7👨💻7 6 4🤩3💯2✍1😁1🏆1
Друзья, а вы кто в мире программирования? 😁
Пишите в комментариях, что у вас получилось!
Ставьте реакцию:
🔥 — если получилось что-то осмысленное
👀 — если совсем не про вас
#поколениеpython
Пишите в комментариях, что у вас получилось!
Ставьте реакцию:
🔥 — если получилось что-то осмысленное
👀 — если совсем не про вас
#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥59👀48 15❤7 6👍2👻1🙈1💘1
Друзья, давайте разберем задачу про любимое мороженое Тимура. 🍦
Алгоритм решения задачи содержит элементы перебора.
1️⃣ Возьмем первое утверждение и предположим, что первая часть верна, а вторая — нет. Затем сверим этот вариант с остальными утверждениями.
Итак, предположим, что Тимур любит малиновое мороженое, но точно не щербет.
Тогда во втором утверждении ошибочно указан шоколадный вкус, а правда — что Тимуру нравится пломбир.
Итак, любимое мороженое Тимура — малиновый пломбир? Но нет, это вступает в противоречие с третьим утверждением.
2️⃣ Получается, что в первом утверждении правда — про щербет, а про малиновый вкус — ошибка.
Тогда во втором утверждении указан правильный вкус — шоколадный.
Проверяем правильность версии третьим утверждением. В нем ошибочна часть про джелато, а вторая часть верна: шоколадный вкус — совсем не малиновый.
Любимое мороженое Тимура — шоколадный щербет(если он, конечно, вообще существует 😃 ).
Ставьте реакцию:
🔥 — если легко справились с задачей
👀 — если запутались в утверждениях
#разборзадачи
Алгоритм решения задачи содержит элементы перебора.
Итак, предположим, что Тимур любит малиновое мороженое, но точно не щербет.
Тогда во втором утверждении ошибочно указан шоколадный вкус, а правда — что Тимуру нравится пломбир.
Итак, любимое мороженое Тимура — малиновый пломбир? Но нет, это вступает в противоречие с третьим утверждением.
Тогда во втором утверждении указан правильный вкус — шоколадный.
Проверяем правильность версии третьим утверждением. В нем ошибочна часть про джелато, а вторая часть верна: шоколадный вкус — совсем не малиновый.
Любимое мороженое Тимура — шоколадный щербет
Ставьте реакцию:
🔥 — если легко справились с задачей
👀 — если запутались в утверждениях
#разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👀28😁7❤4 4 3🥰1💯1
Друзья, продолжаем отвечать на вопросы подписчиков! Сегодня у нас два вопроса о планах "Поколения". 😉
⭐️ Планы на линейку курсов "Поколение Python"?
Ближайшие три курса:
🔵 "Поколение Python: курс для самураев" уже находится в разработке. В нем будут раскрыты такие темы, как аннотации типов, логирование, юнит-тестирование и многое другое
🔵 Вторая часть курса по алгоритмам, в которой будут раскрыты такие темы, как рекурсия, быстрые сортировки, динамическое программирование, жадные алгоритмы, деревья и многое другое.
🔵 Курс "Математика для программистов". В нем рассмотрим разделы математики, полезные для программистов: математический анализ, теория вероятностей, комбинаторика, статистика, основы алгебры и геометрии и многое другое
⏳ Над этими курсами мы будем работать в 2025 и 2026 году.
☝️ ☝️ ☝️ ☝️ На нашем сайте вы можете подписаться на новости о каждом из этих курсов и первым узнать о его выходе.
⭐️ Планируется ли курс по Django?
Мы думаем над таким курсом, но конкретных решений пока не приняли, поскольку ближайшие полтора года уже распланированы.
Ставьте реакцию:
🔥 — если хотите курс по Django от "Поколения"
👀 — если вам такой курс неинтересен
#поколениеpython #ответнавопрос
Ближайшие три курса:
Мы думаем над таким курсом, но конкретных решений пока не приняли, поскольку ближайшие полтора года уже распланированы.
Ставьте реакцию:
🔥 — если хотите курс по Django от "Поколения"
👀 — если вам такой курс неинтересен
#поколениеpython #ответнавопрос
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥196👀49 14 10❤9👍4❤🔥2🍾2😇1👾1 1
Друзья, продолжаем рубрику "Слово недели"! Сегодня поговорим об интроспекции в программировании. 😌
✔️ Интроспекция позволяет получать информацию о свойствах объектов, их методах, документации и других метаданных без необходимости изучать исходный код вручную. Это может быть полезно при анализе механизмов работы программы и поиске ошибок.
✔️ К наиболее важным инструментам интроспекции в Python относятся:
➖ функция
➖ функция
➖ функция
➖ функция
➖ функция
➖ функция
➖ модуль
😉 Почитать подробнее о данных инструментах интроспекции можно в документации по ссылкам:
🟢 функция id()
🟢 функция dir()
🟢 функция type()
🟢 функция isinstance()
🟢 функция help()
🟢 функция hasattr()
🟢 модуль inspect
Ставьте реакцию:
🔥 — если знали, что такое интроспекция
👀 — если слышите этот термин впервые
🔝 🔝 🔝 Сохраняйте пост в избранное, точно пригодится! ✍🏻
#словонедели #поколениеpython
id() возвращает адрес объекта в памятиdir() возвращает отсортированный по алфавиту список атрибутов и методов, доступных для объектаtype() возвращает тип объектаisinstance() позволяет проверить, является ли переданный объект экземпляром переданного класса (с учетом наследования)help() позволяет получить строку документации (docstrings) объектаhasattr() проверяет, есть ли у объекта указанный атрибутinspect предоставляет ряд функций для получения подробной информации об объектахСтавьте реакцию:
🔥 — если знали, что такое интроспекция
👀 — если слышите этот термин впервые
#словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
👀105🔥30❤8 6 3🏆1🫡1
Друзья, сегодня приготовили для вас графическую задачу. 👀
Внимательно посмотрите на пять квадратов на картинке. Вам необходимо определить, по какому принципу строится последовательность рисунков и какие клетки будут закрашены в следующем квадрате.
Свои варианты скидывайте в комментариях, не забывая, что картинки тоженужно скрывать. 😉
Ставьте реакцию:
🔥 — если любите графические задачи
👀 — если предпочитаете текстовые задачи
#задача #поколениеpython
Внимательно посмотрите на пять квадратов на картинке. Вам необходимо определить, по какому принципу строится последовательность рисунков и какие клетки будут закрашены в следующем квадрате.
Свои варианты скидывайте в комментариях, не забывая, что картинки тоже
Ставьте реакцию:
🔥 — если любите графические задачи
👀 — если предпочитаете текстовые задачи
#задача #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45👀18❤5 5 3👾2❤🔥1😁1🏆1🤗1
Друзья, а вы знали, что в информатике существует понятие "алгоритм страуса"? 😁
🥚 Алгоритм страуса — стратегия, при которой потенциальные проблемы игнорируются, потому что они слишком маловероятны.
Такой подход можно использовать для решения проблемы с взаимоблокировками в параллельном программировании, если они очень редки, а стоимость их предотвращения высока.
Ставьте реакцию:
🔥 — если используете алгоритм страуса в реальной жизни
👀 — если пытаетесь предусмотреть даже самые маловероятные проблемы
#поколениеpython #япознаюмир #алгоритмстрауса #алгоритмы
🥚 Алгоритм страуса — стратегия, при которой потенциальные проблемы игнорируются, потому что они слишком маловероятны.
Такой подход можно использовать для решения проблемы с взаимоблокировками в параллельном программировании, если они очень редки, а стоимость их предотвращения высока.
Ставьте реакцию:
🔥 — если используете алгоритм страуса в реальной жизни
👀 — если пытаетесь предусмотреть даже самые маловероятные проблемы
#поколениеpython #япознаюмир #алгоритмстрауса #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥79👀65❤9 8👍5❤🔥2🌚2 2👾1
Друзья, принесли вам новую задачу с собеседований! 😄
🤣 😀 😆 😀 😝 😀
▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️
Реализуйте функцию
🟣
Функция должна возвращать третий максимум списка
Примечание. Третий максимум — это элемент, который будет стоять третьим с конца, если список отсортировать по неубыванию.
▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️
📎 Примеры тестовых данных: 😉
⤵ Пишите свой ход рассуждений и решения в комментариях, не забывая прятать их под скрытым текстом . 😎
☝️ ☝️ ☝️ ☝️ Больше алгоритмических задач ищите в курсе "Алгоритмы и структуры данных для начинающих". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
❤️ — если любите разбирать сложные задачи
👀 — если предпочитаете более простые вопросы
#поколениеpython #собеседования #задачанакод
Реализуйте функцию
third_max_value(), которая принимает один аргумент:nums – список целых чисел (3 ≤ len(nums) ≤ 10⁶)Функция должна возвращать третий максимум списка
nums.Примечание. Третий максимум — это элемент, который будет стоять третьим с конца, если список отсортировать по неубыванию.
print(third_max_value([1, 2, 3])) # 1
print(third_max_value([4, 4, 4])) # 4
print(third_max_value([4, 8, 6, 10])) # 6
Ставьте реакцию:
❤️ — если любите разбирать сложные задачи
👀 — если предпочитаете более простые вопросы
#поколениеpython #собеседования #задачанакод
Please open Telegram to view this post
VIEW IN TELEGRAM
❤51 11👀10🙈5❤🔥3🔥2 2👍1🎄1
Друзья, сегодня поговорим о первичных и внешних ключах в реляционных базах данных. 🖥
✔️ Первичный ключ (Primary Key) — это уникальный идентификатор записи в таблице. Первичный ключ, состоящий из одного поля, называют простым, а из нескольких полей — составным.
Также первичные ключи подразделяют на суррогатные и естественные:
🟢 суррогатные первичные ключи создаются специально для идентификации записей таблицы, их значения не имеют прямого отношения к самим данным. К суррогатным ключам относятся, например, числовые id записей
🟢 естественные первичные ключи непосредственно связаны с реальными данными. Например, в таблице, хранящей данные людей, естественным ключом может выступать поле, содержащее номер паспорта человека
✔️ Внешний ключ (Foreign Key) — это столбец или набор столбцов в одной таблице, который ссылается на первичный ключ в другой таблице. Внешний ключ используется для установления связей между таблицами.
Внешние ключи могут ссылаться на первичный ключ не только другой таблицы, но и той, в которой находится сам внешний ключ. Такие внешние ключи называют рекурсивным. Они используются для установления связей между разными записями в одной и той же таблице.
☝️ ☝️ ☝️ ☝️ Подробно о ключах рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали о первичных и внешних ключах
👀 — если слышите эти понятия впервые
#поколениеpython #базыданных #sql
Также первичные ключи подразделяют на суррогатные и естественные:
Внешние ключи могут ссылаться на первичный ключ не только другой таблицы, но и той, в которой находится сам внешний ключ. Такие внешние ключи называют рекурсивным. Они используются для установления связей между разными записями в одной и той же таблице.
Ставьте реакцию:
🔥 — если знали о первичных и внешних ключах
👀 — если слышите эти понятия впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥72👀42❤13 4❤🔥3 2👏1🫡1👾1