В программировании, сборщик мусора - это механизм, который автоматически удаляет объекты, которые больше не используются программой, освобождая память. Сборщик мусора очень полезен для устранения утечек памяти и других проблем с управлением памятью.
В Python сборка мусора - это часть виртуальной машины Python. Сборка мусора в Python работает следующим образом:
1. Когда объект создается, он помещается в "кучу" (heap).
2. Когда объект больше не используется, сборщик мусора помечает его как "мусор".
3. Сборщик мусора периодически запускается и проверяет все объекты в куче.
4. Если объект помечен как "мусор", сборщик мусора удаляет его из памяти.
Сборка мусора в Python происходит автоматически и не требует дополнительного управления со стороны разработчика. Однако, если вы работаете с большими объемами данных, может быть полезно вручную вызывать сборщик мусора с помощью метода
gc.collect().Сборщик мусора имеет некоторые недостатки. Он может замедлять работу программы, так как сборка мусора занимает время процессора. Кроме того, сборка мусора может быть непредсказуемой, особенно если программа использует много памяти.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
К переменной result на каждом четном числе добавляется единица в первом if.
Во втором if к каждому нечетному числу добавляется двойка.
Но!
После второго if есть else, который срабатывает на четные числа и добавляет к результату еще единицу.
Вывод: на каждом четном и нечетном числе происходит увеличение на 2.
Какие числа перебирает цикл? —> 1 2 3 4 5
5 чисел * 2 = 10
Ответ: 10
Во втором if к каждому нечетному числу добавляется двойка.
Но!
После второго if есть else, который срабатывает на четные числа и добавляет к результату еще единицу.
Вывод: на каждом четном и нечетном числе происходит увеличение на 2.
Какие числа перебирает цикл? —> 1 2 3 4 5
5 чисел * 2 = 10
Ответ: 10
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Ключевое слово import - это основной способ импортирования в Python. Чтобы импортировать библиотеку, достаточно написать ключевое слово import, за которым следует имя библиотеки:
import имя_библиотеки
Например, следующий код импортирует библиотеку numpy:
import numpy
Кроме того, можно использовать ключевое слово from для импортирования конкретных функций или классов из библиотеки. Это может быть полезно, если вы знаете, что используете только определенные функции из библиотеки. Чтобы использовать ключевое слово from, напишите его, за которым следует имя библиотеки, затем ключевое слово import, и, наконец, имя функции или класса, который вы хотите импортировать:
from имя_библиотеки import имя_функции
Например, следующий код импортирует только функцию array из библиотеки numpy:
from numpy import array
Иногда библиотеки имеют длинные и сложные имена, которые могут затруднить чтение вашего кода. В таких случаях можно использовать псевдонимы, чтобы создать более короткие имена для библиотек. Для создания псевдонима для библиотеки используйте ключевое слово as:
import имя_библиотеки as псевдоним
Например, следующий код импортирует библиотеку pandas и создает для нее псевдоним pd:
import pandas as pd
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
21%
True True
24%
True False
12%
False True
21%
False False
9%
1 1
9%
Error
3%
Не знаю
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Функция callable() возвращает True , если указанный объект вызываемый, в противном случае она возвращает значение False.
int() —>✅
5() —> ❌
Ответ: True False
int() —>✅
5() —>
Ответ: True False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Напишите функцию, которая удаляет пробелы из строки, а затем возвращает результирующую строку.
Примеры:
Input --> Output
"8 j 8 mBliB8g imjB8B8 jl B" --> "8j8mBliB8gimjB8B8jlB"
"8 8 Bi fk8h B 8 BB8B B B B888 c hl8 BhB fd" --> "88Bifk8hB8BB8BBBB888chl8BhBfd"
"8aaaaa dddd r " --> "8aaaaaddddr"
Ответ в комментыPlease open Telegram to view this post
VIEW IN TELEGRAM
👍2
Python Hub - сборище Питонистов
Решения задачи можно было увидеть в комментариях, но продублирую их тут
Первый способ - решение через метод .replace, который позволяет заменить одни элементы в строке на другие.
Первый способ - решение через метод .replace, который позволяет заменить одни элементы в строке на другие.
def no_string_space(x):
return x.replace(" ", "")
a = input()
print(no_string_space(a))
Второй способ - классический цикл, где мы пробегаем по элементам и проверяем, что это не пробел. Если так, то добавляем в результат.def no_string_space(x):
c = ""
for i in x:
if i != ' ':
c += i
return c
a = input()
print(no_string_space(a))👍3
https://t.me/Python_Hub_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
PythonHub/Programemes [Предложка]
Бот-предложка. Отправь мне вопрос, сообщение или мем.
👍2
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Генерируем последовательность от 0 до 10 ( не включая ) и заносим ее в переменную a.
После этого пробегаемся циклом по последовательности, i все время принимает значения, которые есть в последовательности, а потом увеличивается самостоятельно на единицу.
Когда мы доходим до 9, мы добавляем еще единицу —> 10 , дальше выходим из цикла.
Вычисление в скобках:
10 + 5 // 2 —> первое делаем целочисленное деление —> 10 + 2 —> 12
Ответ: 12
После этого пробегаемся циклом по последовательности, i все время принимает значения, которые есть в последовательности, а потом увеличивается самостоятельно на единицу.
Когда мы доходим до 9, мы добавляем еще единицу —> 10 , дальше выходим из цикла.
Вычисление в скобках:
10 + 5 // 2 —> первое делаем целочисленное деление —> 10 + 2 —> 12
Ответ: 12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В современном мире базы данных являются неотъемлемой частью многих приложений. Однако, перед выбором базы данных, необходимо понимать различия между типами баз данных. Сегодня мы рассмотрим разницу между SQL и NoSQL базами данных.
SQL (Structured Query Language) - это язык программирования, который используется для управления реляционными базами данных. SQL базы данных используют таблицы для хранения информации, а каждая таблица состоит из строк и столбцов. SQL базы данных поддерживают транзакции, что обеспечивает целостность данных. Они также легко масштабируются, что позволяет управлять большими объемами данных.
NoSQL (Not Only SQL) базы данных - это новый тип баз данных, который не использует традиционные таблицы для хранения информации. Вместо этого, они используют документы, ключи и значения, графы или колоночные семейства. NoSQL базы данных были созданы для управления большими объемами данные с высокой скоростью и производительностью. Они также легко масштабируются, что делает их отличным выбором для приложений, которые необходимо расширять.
Основное различие между SQL и NoSQL базами данных заключается в том, как они хранят и управляют данными. SQL базы данных используют таблицы, которые связаны друг с другом по ключам внешних таблиц. NoSQL базы данных используют документы, ключи и значения, графы или колоночные семейства, которые могут хранить неструктурированные данные. SQL базы данных имеют строгую схему, что означает, что каждый элемент данных должен соответствовать заданной схеме. NoSQL базы данных, с другой стороны, не имеют строгой схемы, что позволяет добавлять данные без необходимости изменения схемы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👍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 !
В нашем случае, будет добавлено 3 пробела, чтобы вся длина стала равна 5.
После чего мы просто добавим в конце знак "!".
Ответ: hi !
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👍2
https://www.youtube.com/watch?v=SfEvX7Px_OE
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Игра на PYGAME Python | Flappy Bird
В видео была создана игра Flappy Bird на языке Python с использованием библиотеки Pygame. Flappy Bird Game.
Подписывайся на наш телеграм канал!
https://t.me/pythonhub001
И на телеграмм чат :)
https://t.me/pythonhub_chat
Полезные ссылки:
Pygame:
https…
Подписывайся на наш телеграм канал!
https://t.me/pythonhub001
И на телеграмм чат :)
https://t.me/pythonhub_chat
Полезные ссылки:
Pygame:
https…
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Библиотека math позволяет нам работать с математическими операциями.
Сначала мы вычисляем корень квадратный из 5 и заносим это в переменную a.
Далее мы этот результат возводим в квадрат, но получаем не 5, а 5.000000000000001.
Для этого в принте идет округление по 2 символам после . (точки) , но у нас эти 2 символа нули. Поэтому после точки будет всего один 0.
Ответ: 5.0
Сначала мы вычисляем корень квадратный из 5 и заносим это в переменную a.
Далее мы этот результат возводим в квадрат, но получаем не 5, а 5.000000000000001.
Для этого в принте идет округление по 2 символам после . (точки) , но у нас эти 2 символа нули. Поэтому после точки будет всего один 0.
Ответ: 5.0
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3