Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
278 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
💬 Напоминаю, что у нас есть бот-предложка, куда вы можете отправлять свои пожелания, замечания, советы, вопросы, мемы и многое другое.

https://t.me/Python_Hub_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
4%
11
7%
10
21%
12
11%
13
14%
14
32%
Error
11%
Не знаю
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Генерируем последовательность от 0 до 10 ( не включая ) и заносим ее в переменную a.
После этого пробегаемся циклом по последовательности, i все время принимает значения, которые есть в последовательности, а потом увеличивается самостоятельно на единицу.
Когда мы доходим до 9, мы добавляем еще единицу —> 10 , дальше выходим из цикла.

Вычисление в скобках:
10 + 5 // 2 —> первое делаем целочисленное деление —> 10 + 2 —> 12
Ответ: 12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔥 Разница SQL и NoSQL баз данных


В современном мире базы данных являются неотъемлемой частью многих приложений. Однако, перед выбором базы данных, необходимо понимать различия между типами баз данных. Сегодня мы рассмотрим разницу между SQL и NoSQL базами данных.

➡️ SQL базы данных

SQL (Structured Query Language) - это язык программирования, который используется для управления реляционными базами данных. SQL базы данных используют таблицы для хранения информации, а каждая таблица состоит из строк и столбцов. SQL базы данных поддерживают транзакции, что обеспечивает целостность данных. Они также легко масштабируются, что позволяет управлять большими объемами данных.

➡️ NoSQL базы данных

NoSQL (Not Only SQL) базы данных - это новый тип баз данных, который не использует традиционные таблицы для хранения информации. Вместо этого, они используют документы, ключи и значения, графы или колоночные семейства. NoSQL базы данных были созданы для управления большими объемами данные с высокой скоростью и производительностью. Они также легко масштабируются, что делает их отличным выбором для приложений, которые необходимо расширять.

➡️ Различия между SQL и NoSQL базами данных

Основное различие между SQL и NoSQL базами данных заключается в том, как они хранят и управляют данными. SQL базы данных используют таблицы, которые связаны друг с другом по ключам внешних таблиц. NoSQL базы данных используют документы, ключи и значения, графы или колоночные семейства, которые могут хранить неструктурированные данные. SQL базы данных имеют строгую схему, что означает, что каждый элемент данных должен соответствовать заданной схеме. NoSQL базы данных, с другой стороны, не имеют строгой схемы, что позволяет добавлять данные без необходимости изменения схемы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🟢 Метаклассы


➡️ Использование мета-классов

В Python мета-классы используются для изменения поведения классов во время создания. Они могут быть использованы, например, для автоматического добавления методов или атрибутов к классам, наследования методов от других классов или даже для изменения способа создания экземпляров классов.

Одним из наиболее распространенных примеров использования мета-классов является создание фреймворков. Фреймворки - это наборы классов, которые разработчики могут использовать для создания своих приложений. Мета-классы позволяют фреймворкам определять базовые классы и методы, которые будут использоваться в приложениях, созданных на основе фреймворка.

➡️ Примеры использования мета-классов

Рассмотрим несколько примеров использования мета-классов в Python.

1. Автоматическое добавление методов к классам

Мета-классы могут использоваться для автоматического добавления методов к классам. Например, рассмотрим следующий код:

class MyMeta(type):
def __init__(cls, name, bases, attrs):
super().__init__(name, bases, attrs)
cls.new_method = lambda self: print("Hello, World!")

class MyClass(metaclass=MyMeta):
pass

obj = MyClass()
obj.new_method() # Output: "Hello, World!"


В этом примере мы создали мета-класс MyMeta, который добавляет метод new_method к классу, созданному с помощью этого мета-класса. Затем мы создали класс MyClass с помощью мета-класса MyMeta и создали экземпляр этого класса. Вызов метода new_method на экземпляре класса позволяет вывести на экран строку "Hello, World!".

2. Наследование методов от других классов

Мета-классы могут использоваться для наследования методов от других классов. Например, рассмотрим следующий код:

class MyMeta(type):
def __init__(cls, name, bases, attrs):
super().__init__(name, bases, attrs)
for base in bases:
if hasattr(base, 'my_method'):
setattr(cls, 'my_method', base.my_method)

class MyBaseClass:
def my_method(self):
print("Hello, World!")

class MyClass(MyBaseClass, metaclass=MyMeta):
pass

obj = MyClass()
obj.my_method() # Output: "Hello, World!"


В этом примере мы создали мета-класс MyMeta, который наследует метод my_method от базового класса MyBaseClass и добавляет его к новому классу, созданному с помощью этого мета-класса. Затем мы создали класс MyClass, который наследует от базового класса MyBaseClass и создали экземпляр этого класса. Вызов метода my_method на экземпляре класса позволяет вывести на экран строку "Hello, World!".

3. Изменение способа создания экземпляров классов

Мета-классы могут использоваться для изменения способа создания экземпляров классов. Например, рассмотрим следующий код:

class MyMeta(type):
def __call__(cls, *args, **kwargs):
print("Creating an instance of", cls.__name__)
instance = super().__call__(*args, **kwargs)
return instance

class MyClass(metaclass=MyMeta):
pass

obj = MyClass()


В этом примере мы создали мета-класс MyMeta, который изменяет способ создания экземпляров класса MyClass. Мы переопределили метод __call__, который вызывается при создании экземпляра класса, и добавили вывод строки "Creating an instance of" с именем класса. Затем мы создали класс MyClass с помощью мета-класса MyMeta и создали экземпляр этого класса. Вызов конструктора класса MyClass позволяет вывести на экран строку "Creating an instance of MyClass".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

ljust() вернет новую строку с текстом str , выровненным по левому краю и шириной width.

В нашем случае, будет добавлено 3 пробела, чтобы вся длина стала равна 5.
После чего мы просто добавим в конце знак "!".

Ответ: hi !
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
17%
5
17%
4.4
47%
5.0
11%
6
3%
Error
6%
Не знаю
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Библиотека math позволяет нам работать с математическими операциями.

Сначала мы вычисляем корень квадратный из 5 и заносим это в переменную a.
Далее мы этот результат возводим в квадрат, но получаем не 5, а 5.000000000000001.
Для этого в принте идет округление по 2 символам после . (точки) , но у нас эти 2 символа нули. Поэтому после точки будет всего один 0.

Ответ: 5.0
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🖥 Что такое хакатоны в программировании?


Хакатоны
- это мероприятия, на которых программисты собираются вместе, чтобы работать в коллективе над проектами. Они обычно проходят на выходных и включают в себя много работы за короткое время.

➡️ Цель и формат хакатонов

Цель хакатонов - это создание рабочих прототипов программных продуктов в короткие сроки. Это помогает разработчикам проверить, насколько их идеи реализуемы, и получить обратную связь от других участников и экспертов. Формат хакатонов очень разнообразен - от небольших встреч в офисах компаний до крупных соревнований, на которых участвуют сотни программистов. В любом случае, участники работают в командах, обычно состоящих из 3-5 человек, и имеют на выбор несколько тематик для работы.

➡️ Преимущества участия в хакатонах

Хакатоны предоставляют программистам множество возможностей для роста и развития. Во-первых, они могут помочь научиться работать в команде и улучшить свои навыки коммуникации и организации. Во-вторых, участники могут узнать много нового о технологиях и инструментах, которые используют другие участники. Наконец, вас могут заметить компании, либо за победу будет объявлен денежныц приз. Кроме того, хакатоны могут просто быть замечательной возможностью для поиска новых контактов и друзей в отрасли.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

b слева расположена там же, где и red справа.
Между ними присвоение —> в b будет занесено значение "red".

Аналогично, например:
(((a, ), b)) = (((2, ), 3))
print(a, b)
#2 3

В нашей задаче ответ: red
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3


Сможете назвать 10 встроенных функций в Python?

Please open Telegram to view this post
VIEW IN TELEGRAM
👍2