Python Lounge: работа и стажировки для программистов
Open in Telegram
Здесь можно найти интересующую вас работу и стажировки для программистов, а так же полезные статьи про Python. Размещение вакансии только - @perezvonyubot Ссылка на канал: @python_lounge Мы входим в сеть promopoisk.com Реклама: @adtgassetsbot
Show more4 245
Subscribers
No data24 hours
-157 days
-6530 days
Posts Archive
Какой элемент является корневым в библиотеке Matplotlib для строения изображения.
Каким(-их видов) может быть сетка?
- Middle - 4
👍👍👍 13%
- Major - 1
👍 3%
- Middle и Major - 15
👍👍👍👍👍👍👍👍 50%
- Minor
▫️ 0%
- Minor и Major - 10
👍👍👍👍👍👍 33%
👥 30 человек уже проголосовало.
Для чего нужны сетка и легенда?
Они не нужны - 3
👍👍 10%
Для нарисования графика - 1
👍 3%
Для повышении информативности графика - 27
👍👍👍👍👍👍👍👍 87%
👥 31 человек уже проголосовал.
Какой элемент является корневым в библиотеке Matplotlib для строения изображения.
Figure(Фигура) - 32
👍👍👍👍👍👍👍👍 89%
Subplot(Подграфик) - 2
👍 6%
XAxis (Ось Х) - 1
👍 3%
YAxis (Ось Y) - 1
👍 3%
👥 36 человек уже проголосовало.
📌Основные элементы графика в библиотеке Matplotlib.
Сегодня рассмотрим основные термины и понятия, касающиеся изображения
графика, с которыми вам необходимо будет познакомиться.
Далее мы будем использовать термин "график" для обозначения всего
изображения, которое формирует Matplotlib (см. рисунок под статьей), и линии,
построенной по заданному набору данных.
Корневым элементом, на котором Matplotlib строит изображение,
является фигура (Figure). Всё, что перечислено на рисунке — это
элементы фигуры. Рассмотрим её составляющие более подробно.
👉График
На рисунке ниже представлены два графика — линейный и точечный.
Matplotlib предоставляет огромное количество различных настроек,которыеможноиспользовать для того, чтобы придать графику требуемый вид: цвет, толщина, тип, стиль линии и многое другое.
👉Оси
Вторым по важности элементом фигуры являются оси. Для каждой оси
можно задать метку (подпись), основные (major) и дополнительные
(minor) тики, их подписи, размер, толщину и диапазоны.
👉Сетка и легенда
Сетка и легенда являются элементами фигуры, которые значительно
повышают информативность графика. Сетка может быть основной
(major) и дополнительной (minor). Каждому типу сетки можно задавать
цвет, толщину линии и тип. Для отображения сетки и легенды
используются соответствующие команды.
Ниже представлен код, с помощью которого был построен график,
изображённый на рисунке.
✅
import matplotlib.pyplot as plt
from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,
AutoMinorLocator)
import numpy as np
x = np.linspace(0, 10, 10)
y1 = 4*x
y2 = [i**2 for i in x]
fig, ax = plt.subplots(figsize=(8, 6))
ax.set_title('Графики зависимостей: y1=4*x, y2=x^2', fontsize=16)
ax.set_xlabel('x', fontsize=14)
ax.set_ylabel('y1, y2', fontsize=14)
ax.grid(which='major', linewidth=1.2)
ax.grid(which='minor', linestyle='--', color='gray', linewidth=0.5)
ax.scatter(x, y1, c='red', label='y1 = 4*x')
ax.plot(x, y2, label='y2 = x^2')
ax.legend()
ax.xaxis.set_minor_locator(AutoMinorLocator())
ax.yaxis.set_minor_locator(AutoMinorLocator())
ax.tick_params(which='major', length=10, width=2)
ax.tick_params(which='minor', length=5, width=1)
plt.show()🐍Хардкорный тест по Python
Ответьте на 20 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый курс для разработчиков по специальной цене.
Пройти тест: https://otus.pw/FJKP/
🤦♀️ До сих пор ищешь работу или нужны навыки для повышения?
Чтобы научиться новому не нужно тратить много денег. Мы сделали всё намного проще!
Делаешь один клик и изучаешь любую профессию!
— Выучить английский
— SMM, продажи, маркетинг
— Освоить программирование
— Дизайн/Веб-дизайн
— Сотни востребованных навыков
ПРЯМО в Телеграме. Без смс и регистрации.
👇Это просто:
1. Открываете лучший канал для самообразования.
2. Тратите 20-30 минут в день!
3. Становитесь крутым дизайнером, программистом, копирайтером и получаете кучу денег.
Не сохраняйте это в закладки, просто начните прямо сейчас!
Кстати, неплохой канал с хорошим контентом @opensourcefuture
Давайте расширим горизонты планирования за рамки наступающего года. Какая специальность останется востребованной и через десять лет? Аналитики данных — ведь никуда не деться от растущих объемов информации. Уже сейчас дата сайентистом можно зарабатывать от 80 тыс. до полумиллиона рублей. А если вы хотите перебраться в другую страну, профессия позволит релоцироваться с не менее хорошей зарплатой.
Важное преимущество носителей русского языка — высокий уровень российской математической школы. Вот почему среди победителей соревнований по машинному обучению так много наших ребят. Конечно, не у всех новичков в аналитике всё тип-топ с математической базой — не беда, наши друзья из Proglib помогут выучиться.
Они проводят десятидневный онлайн-марафон «Базовая математика для Data Science», который позволит в сжатые сроки закрыть пробелы в знаниях и научиться говорить еще и на языке формул.
Записаться: https://proglib.io/w/1a6b65ce
Бесплатный интенсив «Python для начинающих»
Python — язык на котором легко начать работать. Он нужен всем: от сисадминов до тестировщиков. Питонисты востребованы во многих компаниях, к примеру, прямо сейчас только на hh.ru открыто более 6000 вакансий!
Научиться программировать на этом языке — значит добавить себе очков при будущем трудоустройстве.
А сделать первые шаги и бесплатно попробовать написать что-то на Python можно на бесплатном интенсиве от образовательной экосистемы GeekBrains от Mail.ru Group!
Только знания и никаких фигурных скобок! Регистрируйтесь
Хотите развиваться в области тестирования?
Занимайте последние места на продвинутом онлайн-курсе «Python QA Engineer»!
Вы на практике научитесь писать автотесты для UI и API, сможете применять актуальные инструменты Selenium и RestAssured и многое другое.
Обучение откроет для вас новые перспективы для работы в серьезных проектах, а лучшие студенты получат приглашение на собеседования в компании-партнеры.
Успейте пройти вступительный тест и занять место по праздничной спец.цене https://otus.pw/iMXa/
📌Библиотека Matplotlib
Библиотека Matplotlib является одним из самых популярных средств
визуализации данных на Python. Она отлично подходит как для создания
статичных изображений,так и анимированных, и интерактивных
решений.
🎯Matplotlib является частью Scientific Python — набора библиотек для
научных вычислений и визуализации данных, куда также входят NumPy 1 ,
SciPy 2 , Pandas 3 , SymPy 4 и ещё ряд других инструментов.
При описании параметров функций будет использоваться следующий
формат:
• имя_аргумента: тип(ы)
◦ описание
Если в описании типа данных есть слово optional, это значит, что
данный параметр имеет значение по умолчанию, и его не обязательно
явно указывать.
✅Установка:
Установка Matplotlib с помощью менеджера pip
Для установки Matplotlib с помощью менеджера пакетов pip введите в
командной строке вашей операционной системы следующие команды:
python -m pip install -U pip
python -m pip install -U matplotlib
Первая из них обновит ваш pip, вторая установит Matplotlib со всеми
необходимыми зависимостями.
Проверим версию библиотеки, она, скорее всего, будет отличаться от
приведённой ниже:
>>> matplotlib.__version__
'3.0.3'
📖Полезные ссылки:
https://numpy.org/
https://scipy.org/
https://pandas.pydata.org/
https://www.sympy.org/en/index.html
Ребята из издательства Smart нашли способ, как быстро изучить важную для вас тему. Они отобрали лучшие книги по ключевым темам: лидерство, саморазвитие, здоровье, технологии. Выделили главные идеи и техники, представили их в виде инфографики и собрали в тематические умные календари.
В каждом таком календаре размещены 12 инфографик по топ-книгам, а также практическими заданиями и QR-код, ведущий на страницу с полезными материалами — саммари книг, лекциями, статьями, заданиями, кейсами.
Цена календаря — 1500 рублей. Подарить вместе с ним радость на Новый год друзьям — бесценно. Скорее заказывайте и радуйте близких
💥 Для тех, кто развивается в ML-разработке и Data Science. Новичкам и с опытом в Python.
- Регистрация открыта https://bit.ly/2KEf872 до 24 декабря включительно.
- Грант 4000 рублей - для всех участников на использование Yandex DataSphere.
AI Community и Yandex.Cloud впервые запускают онлайн-соревнование по анализу данных Yet Another Data Challenge.
Этот конкурс для тебя, если тебе интересно:
🟡 проверить свои навыки и получить опыт решения интересной задачи по генеративному ML;
🟡 пообщаться с опытными экспертами из Yandex.Cloud в чате и на вебинарах соревнования;
🟡 создать свою первую генеративную мелодию;
🏆 Призы конкурса:
1 место: MacBook Air 13 дюймов, 512 Гб + грант на DataSphere 150 000 руб;
2 место: Apple iPhone 12 Pro 6,1 дюйма + грант на DataSphere 100 000 руб;
3 место: Apple Watch Series 6 размер + грант на DataSphere 50 000 руб;
Топ-10 участников - награждаются Yandex Станцией Мини;
200 активных участников получают футболки Yandex.Cloud.
💥 Регистрация, детали и лидерборд топ-15 на сайте соревнования - https://bit.ly/2KEf872
📌ГЕТТЕРЫ И СЕТТЕРЫ В python
(Инкапсуляция)
В ЯП python по умолчанию все атрибуты в классах являются общедоступными(public), это значит , что из любого места программы мы можем получить аттрибут объекта и изменть его.
🎯Пример:
class Human:
def __init__(self, name, age): #коструктор класса Human
self.name = name #устанавливаем имя
self.age = age #устанавливаем возраст
def display_info(self):
print ("Имя : ", self.name, "\tВозраст:", self.age)
Me = Human ("python_lounge", 2)
Me.name = "Captain-America!" # изменяем атрибут name
Me.age = 132 # изменяем атрибут age
Me.display_info()
✅Результат:
Output : "Имя: Человек-паук Возраст: -129"
В примере выше мы показали что без икапсуляции можно нежелательным образом изменять аттрибуты класса.
Не зря инкапсуляция является несущим звеном в мире ООП.
⚠️
На вопрос что такое инкапсуляция в программировании нужно ответить следующим образом.
Инкапсуляция предотвращает прямой доступ к атрибутам объект из вызывающего кода.
Касательно инкапсуляции непосредственно в языке программирования Python, скрыть атрибуты класса можно сделав их приватными или закрытыми и ограничив доступ к ним через специальные методы, которые еще называются свойствами.
Изменим выше определенный класс, определив в нем свойства:
class Human:
def __init__(self, name, age): #коструктор класса Human
self.__name = name #устанавливаем имя
self.__age = age #устанавливаем возраст
def set_age(self, age):
if (age in range(1,100)):
self.__age = age #
else :
print ("Недопустимый возраст")
def set_name (self, name):
self.__name = name if name else print ("Недопустимое имя")
def display_info(self):
print ("Имя : ", self.__name, "\tВозраст:", self.__age)
def get_age(self):
return self.__age
def get_name(self):
return self.__name
Me = Human ("python_lounge", 2)
Me.display_info() #Имя:python_lounge Возраст: 2
Me.set_name ("Captain-America!") #изменяем атрибут name
Me.set_age(26) # изменяем атрибут age
Me.display_info() #Имя:Captain-America! Возраст: 26
Для создания приватного атрибута в начале его наименования ставится двойной прочерк: self.__name. К такому атрибуту мы сможем обратиться только из того же класса. Но не сможем обратиться вне этого класса. Например, присвоение значения этому атрибуту ничего не даст:
Me.__age = 43
👉Аннотации свойств
Выше мы рассмотрели, как создавать свойства. Но Python имеет также еще один - более элегантный способ определения свойств. Этот способ предполагает использование аннотаций, которые предваряются символом @.
Для создания свойства-геттера над свойством ставится аннотация @property.
Для создания свойства-сеттера над свойством устанавливается аннотация имя_свойства_геттера.setter.Python test - канал, на котором выкладывают задачки по Python разного уровня и решение на них.
Грех не подписаться на такой полезный канал 👉🏻@python_tesst
Больше миллиарда человек курят сигареты каждый день! А табачные компании купаются в деньгах.
На наших хотелках и слабостях зарабатывают огромные деньги, а сколько люди тратят на развлечения и азартные игры? Тебе приятно когда на тебе зарабатывают? Признайся себе.
Мы решили поменять правила игры, теперь все в наших руках. Ты можешь стать вторым Иисусом и начать давать людям то, чего они хотят. Ощущения.
На канале CBD LOTO расскажут, как официально через интернет продавать лотерейные билеты и продукты из целительной конопли.
А самое приятное, что наши услуги очень востребованы и могут приносить солидные деньги.
Подписывай на CBD LOTO, если до сих пор не начал зарабатывать удаленно.
https://t.me/joinchat/AAAAAEkPJwQ-cmx7bABBjQ
📌ДИНАМИЧЕСКИЕ АТТРИБУТЫ ДЛЯ ОБЪЕКТОВ
Есть возможность контролировать способы получения аттрибутов из объекта , с помощью магического метода
__getattr__.
Когда мы вызваем что-то вроде <myobject>.<myattribute>,Python будет искать <myattribute> в библиотеке объекта, вызвав __getattribute__
в нём.
Если ничего не найдено , то объект не имеет аттрибут с именем которую мы ищем, тогда extra метод __getattr__ вызывается , получая имя аттрибута (myattribute) как параметр.
Получая это значение мы можем котролировать значения которые будут возвращены к нашим объектам.
Мы даже можем создать новый аттрибут и вернуть объекту "ненайденный аттрибут".
✅Ниже показано определение метода __getattr__ .
class DynamicAttributes:
def __init__(self, attribute):
self.attribute = attribute
def __getattr__(self, attr):
if attr.startswith("fallback_"):
name = attr.replace("fallback_", "")
return f"[fallback resolved] {name}"
raise AttributeError(f"{self.__class__.__name__} has no attribute {attr}")
Примечание:
🔴Будьте осторожны при реализации такого динамического метода, как __getattr__,
и используйте его с осторожностью. При реализации __getattr__,
поднять AttributeError.📌Функция sum() в python3
Как бы вы решили задачу получения суммы элементов
списка без обхода элементов в цикле?
Это можно сделать с помощью стандартной функции sum():
Cинтакс функции sum().
sum(iterable, start)
Параметры sum():
iterable - итерируемые типы (list , dict , tuple, и.т.д.)
start - (необезательно) - значение этого параметра прибавляется к уже готовой сумме элементов iterable.По умолчанию значение этого парметра 0.
Возвращаемое значение из sum():
sum() возвращает сумму start и элементов iterable.
Пример:
numbers = [1,5,5]
#парметр start передается со значением по умолчанию(0).
numbers_sum = sum (numbers);
print (numbers_sum)
# парметр start передается со значением 7.
numbers_sum = sum (numbers, 7)
print (numbers_sum)
✅Результат:
11
18
🔴Примечания:
Если вам нужно использовать sum() с floating-point элементами iterable с правильной точностью после запятой , до использования
sum(iterable , start) , нужно вместе c import math добавить следующую строку. math.fsum(iterable).
Если вам нужно соединить(concatenate) элементы iterable (элементы должны быть string), тогда вы можете использовать метод join()
Пример:
myTuple = ("Python", "Lounge", "is", "the","best")
x = " ".join(myTuple)
print (x)
✅Результат:
Python Lounge is the best