Python Nation🐍🇺🇦
2.83K subscribers
237 photos
2 files
158 links
Канал для всіх, хто вивчає Python: поради, приклади коду, бібліотеки, лайфхаки та актуальні новин👨‍💻🐍

По всім питанням👉 @giorg_jr

❗️Канал регулярно очищується від неактивних підписників❗️
Download Telegram
Функция abs() возвращает абсолютное значение заданного числа. Если это комплексное число, функция abs() возвращает его величину.

#встроенные_функции @pythonnation
Декоратор cached_property

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

Этот простой пример показывает как можно использовать cached_property для кэширования отрисованной HTML - страницы, которая должна снова и снова показываться пользователю.

cached_property запускается только при поиске, поэтому позволяет нам менять значение атрибута. После изменения атрибута закэшированное ранее значение меняться не будет, вместо этого будет вычислено и закэшировано новое значение. А еще кэш можно очистить, и все, что нужно для этого сделать – это удалить атрибут.

Не используйте декоратор, если у вашей функции есть какие-то побочные эффекты или если она при каждом вызове создает изменяемые объекты, поскольку это явно не те функции, которые вы захотите кэшировать.

#cached_property @pythonnation
Оператор равенства == сравнивает значения обоих операндов и проверяет их равенство.

В то время как оператор is проверяет, относятся ли оба операнда к одной и той же ячейке в памяти.

Python в целях производительности кеширует короткие строки и малые целые числа, поэтому возможны такие казусы(короткая строка)

Но стоит сделать строку длиннее и всё встаёт на свои места(длинная строка)

@pythonnation
⚡️ Задача с собеседования | Уровень: #Easy

Условие:

Ваша задача — написать функцию, которая проверяет, является ли число простым.
Простые числа — числа, которые делятся нацело только на единицу и на само себя.

Пример:

is_prime_number(2) -> True
is_prime_number(9) -> False
is_prime_number(117) -> False
is_prime_number(127) -> True

📌Делитесь своим решением в комментариях👇

#задача_с_собеседования @pythonnation
⚡️ Задача с собеседования | Уровень: #Medium

Условие:

Нужно написать код, который будет переводить римские символы в привычную нам десятичную систему.

Пример:

roman_to_int('XXI') -> 21
roman_to_int('IV') -> 4
roman_to_int('I') -> 1

📌Делитесь своим решением в комментариях👇

#задача_с_собеседования @pythonnation
Эта функция принимает объект и возвращает итерируемый объект. Сам по себе он бесполезен, но оказывается крайне эффективным при использовании в циклах for и while. Благодаря этому объект можно перебирать по одному свойству за раз.

#встроенные_функции #iter @pythonnation
eval() обрабатывает переданное в нее выражение и исполняет его как выражение Python. После этого возвращается значение. Чаще всего эта функция используется для выполнения математических функций.

#встроенные_функции #eval @pythonnation
Функция chr() возвращает строку, представляющую символ Unicode для переданного числа. Она является противоположностью ord(), которая принимает символ и возвращает его числовой код.

#встроенные_функции #chr @pythonnation
В качестве параметра enumerate() принимает последовательность. После этого она перебирает каждый элемент и возвращает его вместе со счетчиком в виде перечисляемого объекта. Основная особенность таких объектов — возможность размещать их в цикле для перебора.

#встроенные_функции #enumerate @pythonnation
У большинства объектов в Python есть хэш-номер. Функция hash() возвращает значение хэша переданного объекта. Объекты с __hash__() — это те, у которых есть соответствующее значение.

#встроенные_функции #hash @pythonnation
Метод callable() принимает только один объект и возвращает одно из двух значений:

— возвращает True, если объект кажется вызываемым
— возвращает False, если объект не может быть вызван

#встроенные_функции #callable @pythonnation
⚡️ Задача с собеседования | Уровень: #Medium

Условие
:

Вам необходимо отсортировать список, но все парные числа должны остаться на месте.

Примеры:

sort_array([3, 1]) -> [1, 3]
sort_array([3, 2, -1, 4]) -> [-1, 2, 3, 4]
sort_array([5, 3, 2, 8, 1, 4]) -> [1, 3, 2, 8, 5, 4]

📌Делитесь своим решением в комментариях👇

#задача_с_собеседования @pythonnation
Вычисление Города, Региона, Страны по IP 🤔

В Python есть библиотека ip2geotools, с ее помощью можно узнать данные местоположения.

Перед запуском кода установите библиотеку:
pip install ip2geotools

Код:
from ip2geotools.databases.noncommercial import DbIpCity

ip = 'сюда IP'

response = DbIpCity.get(ip, api_key='free')

print(f'Город - {response.city}\n'
f'Регион - {response.region}\n'
f'Страна - {response.country}\n'
f'Долгота - {response.latitude}\n'
f'Широта - {response.longitude}')

#ip2geotools @pythonnation
8 компаний мирового масштаба, которые используют Python

Читать📖
⚡️ Задача с собеседования | Уровень: #Easy

Условие:

Вам необходимо проверить, являются ли две строки анаграммами? На вход идут две строки, состоящие из символов английского алфавита.

Примеры:

is_anagram('car', 'tar') -> False
is_anagram('car', 'cart') -> False
is_anagram('anagram', 'nagaram') -> True
is_anagram('beluga', 'begula') -> True

📌Делитесь своим решением в комментариях👇

#задача_с_собеседования @pythonnation
Введение в PyTorch

PyTorch — один из самых популярных фреймворков глубокого обучения для специалистов в области Machine Learning. Создан он на основе библиотеки Torch.
👉Читать статью

#pytorch @pythonnation
⚡️ Задача с собеседования | Уровень: #Medium

Условие
:

Ваша задача — написать функцию, которая принимает неограниченное количество списков и возвращает только те элементы, что есть в каждом списке.

Пример:

find_values([11, 10, 3], [10, 3, 5, 11], [11, 10]) -> [11, 10]
find_values([8, 4, 7, "hi"], [8, "hi"], [4, "hi"]) -> ['hi']
find_values([1, 4, 3], [6, 2, 8], ["4", "hi"]) -> []

📌Делитесь своим решением в комментариях👇

#задача_с_собеседования @pythonnation
Топ 3 книги по Python для начинающих на русском языке

👉Cмотреть книги
⚡️ Задача с собеседования | Уровень: #Easy

Условие:

Ваша задача на этот раз — написать функцию для вычисления факториала.

Пример:

factorial(10) -> 3628800
factorial(3) -> 6
factorial(7) -> 5040
factorial(0) -> 1

📌Делитесь своим решением в комментариях👇

#задача_с_собеседования @pythonnation
10 лучших фреймворков для веб-разработки на Python
👉Читать статью

#frameworks @pythonnation