uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Python Lounge: работа и стажировки для программистов

Python Lounge: работа и стажировки для программистов

Відкрити в Telegram

Здесь можно найти интересующую вас работу и стажировки для программистов, а так же полезные статьи про Python. Размещение вакансии только - @perezvonyubot Ссылка на канал: @python_lounge Мы входим в сеть promopoisk.com Реклама: @adtgassetsbot

Показати більше
3 704
Підписники
Немає даних24 години
-127 днів
-1530 днів
Архів дописів
Где будет быстрее поиск? При условии 1 млн записей.
Anonymous voting

Хочешь научиться работать с Python? Ребята из ProductStar создали курс, который за 2 месяца позволит новичку освоить навыки анализа данных с помощью Python, научиться писать автоматические скрипты, а также работать с визуализацией данных и дашбордами. Спикеры курса: — Николай Пекальн, директор по аналитике Vezet group, — Ришат Исхатов, Head of BA, СберМаркет. Обучение состоит из 10 блоков и 10 домашек с проверкой от практиков рынка. По ходу курса ребята помогают лучшим студентам с трудоустройством и подготовкой к собеседованиям. Для первых 20 студентов действует скидка в 50% — курс можно приобрести всего за 14600 ₽ Подробная программа курса и регистрация по ссылке 👉 https://clck.ru/R78GX

​​В открытом море можно ориентироваться по звёздам, но лучше — иметь навигатор. Бесплатный курс Нетологии «Data Science: будущее для каждого» — и есть такой навигатор в море Data Science. Вместе с преподавателями-энтузиастами вы на простых примерах разберёте, как алгоритмы принимают решения, и напишите первый код на языке SQL.  Всё, чтобы вы могли погрузиться в данные и вынырнуть с понимаем, куда плыть дальше. Регистрируйтесь ↓ http://netolo.gy/fRM

Реализация класса контекстного менеджера Начнем с того, что в контекстном менеджере должны быть определены методы enter и exit. Давайте создадим наш собственный менеджер контекста для открытия файлов и поймем суть его работы. class NewOpen(object):    def __init__(self, file_name, mode):        self.file = open(file_name, mode)    def __enter__(self):        return self.file    def __exit__(self, type, value, traceback):        self.file.close() Просто определив методы enter и exit, мы можем использовать наш новый класс с оператором with. Давайте попробуем: with NewOpen('test.txt', 'w') as file:    file.write('Hello, world!') Наш метод exit принимает три аргумента. Они требуются для каждого метода exit, который является частью класса. # test

Функция exit создана для удобства работы в интерактивном режиме, однако не рекомендуется использовать её внутри скриптов. Она просто поднимает исключение, и при попытке вызова без скобок пишет подсказку о правильном способе выхода из интерпретатора: >>> exit Use exit() or Ctrl-D (i.e. EOF) to exit >>> exit() nameless@pycoders:~$ Использовать sys.exit стоит потому, что эта функция лежит в стандартном модуле и будет всегда там доступна. Также это довольно явный способ выразить своё желание завершить программу. import sys try: # code except: sys.exit()

​​3 причины, почему стоит учить Python: — простой и понятный язык, подойдет новичкам; — востребованный (более 600 вакансий на HH.ru); — универсальный: можно разрабатывать как игры и приложения, так и системы управления жизнеобеспечением. Где учить? В SkillFactory, на курсе «Fullstack-разработчик на Python». Почему там? Потому что на курсе есть: — 7 онлайн-модулей, объединенных в единую специализацию, чтобы изучить Python максимально глубоко. — 395 часов обучения на практике. — 3 сквозных проекта и один итоговый — чтобы пополнить портфолио. — Помощь менторов и круглосуточная поддержка в общем чате. Для тех, кто хочет быстрее найти работу по новой профессии предусмотрен бонусный модуль по поиску проектов на фриланс-бирже и взаимодействию с заказчиком.  🚀Запишитесь на курс со скидкой 30%: https://clc.am/VPMhaw

​​Чему вы хотели бы научить искусственный интеллект? Например, создавать уникальные изображения или текст. А может, виртуозно играть в крестики-нолики? Приходите на практический онлайн-курс «Deep Learning. Basic» и сделайте свои первые нейронные сети. 📌 За 5 месяцев вы: - Освежите все необходимые области математики: теорию информации, теорию вероятности, линейную алгебру и основы анализа. - Попробуете на практике различные направления Deep Learning: Компьютерное зрение, Обработка естественных языков, Обучение с подкреплением, Генеративные сети - Освоите фреймворки PyTorch, Tensorflow, Keras Знаний и практики, которые вы получите, будет достаточно, чтобы претендовать на начальные позиции специалиста по нейронным сетям и самостоятельно решать рядовые распространенные задачи. Пройдите вступительный тест и успейте записаться на курс по спец.цене: https://otus.pw/OhfrR/

​​⚡ Как проджекту в IT оценивать задачи в зависимости от срочности, размера и сложности работ?  Присоединяйтесь 8 сентября к демо-уроку «Техники оценки Agile проектов для различных контекстов».  Преподаватель Юлия Белозерова за 8 лет в проектном управлении прошла путь от Scrum-master до Technical Program Manager. С ней вы научитесь выбирать нужный способ с зависимости от ситуации: «размеры футболок», человеко-часы, story points, PERT и др. А так же затронете классический инструмент critical path. Демо-урок является частью программы онлайн-курса «Agile Project Manager», созданной специально для IT-специалистов, стремящихся к карьерному росту в управлении IT-проектами. ✔ Чтобы посетить занятие, регистрируйтесь по ссылке: https://otus.pw/fwUI/

Аннотации типов Всем известно, что Python – язык с динамической типизацией. Аннотации типов нужны для того, чтобы повысить информативность исходного кода, но они никак не влияют на поведение программы. Для примера потребуется импортировать типы List (список) и Dict (словарь) из модуля typing: from typing import List, Dict Типы данных указывается через двоеточие после именно переменной после её создания. Создадим словарь с числами и сразу же список, состоящий из значений этого словаря: numbers: Dict[str, int] = {'one': 1, 'two': 2} values: List[int] = numbers.values() Потом создадим функцию, возвращающую сумму переданных значений. В аргументах точно так же можно указывать их типы, а также через стрелочку можно указать типа возвращаемого значения: def sum(a: int, b: int) -> int: return a + b Теперь используем эту функцию, передав туда распакованный список: sum(*values) # Output: 3 Однако помните, что аннотации типов не влияют на ход исполнения программы, поэтому в ранее написаную функцию мы с таким же успехом можем передать и строки, хотя указывали целочисленный типа данных: sum('Python ', 'Lounge') # Output: 'Python Lounge'

​​Хочешь стать Python-разработчиком? Обучайся на практике! Пройди обучающий интенсив и создай программу для обмена быстрыми сообщениями всего за три дня! Успей на бесплатную регистрацию: ▶ https://clc.am/jkDqZg.  Ты научишься:  ✔ разбираться в различных типах данных, структурах, функциях и ООП; ✔ разрабатывать сервер для прослушивания подключений; ✔ программировать клиентскую часть для подключения и передачи сообщений; ✔ работать с библиотеками PyQT, Kivy, wxWidgets, Tkinter. 📣 Твоим преподавателем будет сооснователь и технический директор в Lia — Никита Левашов. ⭐ Если попадёшь в тройку лучших участников — получишь сертификат на 30 000 рублей для обучения в Skillbox.

Изменение списка во время итерации по нему Предположим, что требуется удалить все нечетные числа из списка. Проблема со следующим кодом должна быть довольно очевидной: odd = lambda x: bool(x % 2) # функция проверки числа на нечетность numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in range(10):   if odd(numbers[i]):     del numbers[i] # удаление элемента из списка во время итерации по нему # Output: Traceback (most recent call last): if odd(numbers[i]): IndexError: list index out of range Удаление элемента из списка во время его итерации – это проблема, которая хорошо известна любому опытному разработчику. К счастью, Python включает в себя ряд элегантных парадигм программирования, которые при правильном использовании могут привести к значительному упрощению и оптимизации кода. Одна из таких парадигм – list comprehensions. Генераторы списков часто используют именно для решения подобных проблем, что и показывает реализация кода ниже: odd = lambda x: bool(x % 2) # функция проверки числа на нечетность numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] numbers = [n for n in numbers if not odd(n)] # генератор нового списка print(numbers) # Output: [2, 4, 6, 8, 10]

​​Набор учащихся на совместные образовательные программы Сбербанка Совместные образовательные программы Сбербанка реализованы в 12 вузах страны от Москвы до Владивостока. Направления подготовки разные — от «Экономики» до «Software Engineering». Обучение доступно как для магистров, так и для бакалавров на конкурсной и коммерческой основе. Узнать подробнее о сроках приемной кампании и образовательных программах можно на онлайн-платформе SberGraduate. Какие совместные образовательные программы есть? Национальный исследовательский ядерный университет «МИФИ»: программа дополнительного образования «Информационные технологии в социальных системах» Московский физико-технический университет: бакалаврская программа «Software Engineering» Российская академия народного хозяйства и государственной службы при Президенте Российской Федерации: магистерская программа «Финансы и технологии» Национальный исследовательский университет «Высшая школа экономики»: магистерская программа «Финансовые технологии и анализ данных» Балтийский федеральный университет им. Канта: магистерская программа «Банковские информационные технологии» Факультет вычислительной математики и кибернетики МГУ им. М.В. Ломоносова: магистерская программа «Программное обеспечение вычислительных сетей» Университет ИТМО: магистерские программы «Цифровые технологии умного города», «Информационная безопасность», «Финансовые технологии больших данных», «Робототехника» Дальневосточный федеральный университет: бакалаврская программа «Экономика» и магистерская программа «Искусственный интеллект и большие данные» Южный Федеральный Университет: бакалаврская программа «Специализированный курс по обучению Java разработке» Самарский НИУ академика С.П.Королева: магистерская программа «Data Science» Уральский федеральный университет: программа дополнительного образования «Сбертех Start» и магистерская программа «Прикладной анализ данных» Рязанский государственный радиотехнический университет: совместный учебный курс «Business Intelligence», «Архитектура промышленных автоматизированных систем» и «Промышленное программирование на Java» Digital-выпускной SberGraduate 2020 В конце июля состоялся первый в истории digital-выпускной образовательных программ Сбербанка SberGraduate. Во время онлайн-трансляции новоиспеченные бакалавры и магистры получили напутствия от менеджеров Сбербанка и представителей университетов, прошли тест на уровень развития эмоционального интеллекта и разились за годовую подписку в онлайн-кинотеатре Окко в «Квиз, плиз». Помимо дипломов выпускники получили именные сертификаты, подписанные Президентом, Председателем Правления Сбербанка Германом Грефом. Многие из выпускников уже получили предложение стать сотрудниками Сбербанка.

Огромное количество вакансий, множество резюме 😱 Бесплатное размещение до 1500 подписчиков! 😱 Успей залететь и найти сотрудника мечты или вакансию, абсолютно бесплатно! 😍 https://t.me/freelancepub

Паттерн проектирования Singleton Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр. Итак, нам требуется такой класс, который будет при вызове возвращать один и тот же экземпляр, поэтому нам придется переопределить магический метод new. new__(cls, *args, **kwargs) –– вызывается для создания экземпляра класса, перед вызовом __init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса). class Singleton: instance = None def __new__(cls): if cls.instance is None: cls.instance = super().__new__(cls) return cls.instance Здесь мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем. То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти. a = Singleton() b = Singleton() Создали два экземпляра, теперь убедимся, что они содержат одинаковый объект. print(a is b) # True

​​Как одной математической формулой по номеру месяца посчитать количество дней в нем? Попробуем написать функцию f(x), которая бы давала следующий список значений (таблица №1), то есть количество дней в месяцах. Помимо стандартных арифметических операций, мы будем использовать целочисленное деление и взятие остатка по модулю. Обычно количество дней в месяце колеблется между 30 и 31. При этом, можно заметить зависимость этого числа от четности месяца — значит, воспользуемся операцией взятия остатка по модулю 2. Кажется, это должно быть нечто, вроде: f₁(x) = 30 + x % 2 # таблица №2 Пока что не обращая внимания на февраль, нам нужно, чтобы +1 в делимом «активировалось» только при достижении аргументом значений, больших 8. При этом значения аргумента не могут превосходить 12. Значит, нам идеально подойдет целочисленное деление аргумента на 8: f₃(x) = 30 + (x + x // 8) % 2 # таблица №3 Все правильно, кроме февраля. Как неожиданно. В самой последней версии нашей формулы февралю достались целых 30 дней. А потому нам нужно отсечь у него пару дней. Естественно, от этого пострадают и еще какие-то месяцы, поэтому нам придется пожертвовать именно январем, затем подправив формулу и для него. Отсечь дни для первого и второго месяцев можно с помощью выражения 2 % x. Тогда наша формула принимает уже следующий вид: f₄(x) = 28 + (x + x // 8) % 2 + 2 % x # таблица №4 Остался последний шаг — подлатать январь. Это сделать не так сложно: просто добавим 2 дня только к нему, т.е. к такому месяцу, чей номер меньше либо равен единице. Как вам идея использовать для этой цели 1 // x? Проверяем: f₅(x) = 28 + (x + x // 8) % 2 + 2 % x + 1 // x * 2 # таблица №5 Превосходно, 12 из 12. Подобная функция на языке Python может быть записана следующим образом: f = lambda x: 28 + (x + x // 8) % 2 + 2 % x + 1 // x * 2 print(f'В июне {f(6)} дней') # Out: В июне 30 дней

Switch-конструкция с помощью словаря К сожалению, в Python не существует switch-конструкций, в отличие от большинства других языков программирования, и поэтому приходится строить башни из условных операторов в своём коде. Однако есть одно хитрое решение — использовать словарь, где значениями будут функции. Например, напишем словарь, который будет использован для математических операторов. switch = { '+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y } В этом примере были использованы lambda-функции для простоты, но вместо них можете подставить любые другие. Для тех, кто не знает: lambda - объявление анонимной функции (можно косвенно сравнить с def); x, y - принимаемые аргументы; x + y - то, что функция возвращает. result = switch['*'](4, 5) print(result) # Output: 20 Примерно вот так мы можем пользоваться подобной штукой. Думаю, что многие найдут полезное применение подобному использованию словарей.

Создаем свой простенький локер - вирус, блокирующий компьютер; а также используем новый интересный модуль Tkinter: часть 5

Использование списков в качестве стеков Стек — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Методы встроенного списка в Python позволяют очень легко использовать список в виде стека. Чтобы добавить элемент на вершину стека, используйте append(). Чтобы извлечь элемент из верхней части стека, используйте pop() без явного индекса. Пример: >>> stack = [3, 4, 5] >>> stack.append(6) >>> stack [3, 4, 5, 6] >>> stack.pop() 6 >>> stack [3, 4, 5] >>> stack.pop() 5

23 июня в 20:00 мск OTUS приглашает на открытый вебинар «Тестирование вёрстки с помощью Selenium и Python». Вебинар бесплатны
23 июня в 20:00 мск OTUS приглашает на открытый вебинар «Тестирование вёрстки с помощью Selenium и Python». Вебинар бесплатный, но пройдет в рамках набора на онлайн-курс «Python QA Engineer». Пройдите вступительный тест - и вам напомнят о вебинаре заранее: https://otus.pw/v5js/ На занятии разработаем собственный фреймворк сверки изображений. Подключайтесь 23 июня, будет интересно и профессионально.

​​18 июня пройдет открытый практический вебинар «Модульные монолиты и DDD». Присоединяйтесь, будет интересно и профессионально: https://otus.pw/TJoR/ На открытом уроке будут рассмотрены основные паттерны для построения и написания модульных монолитов. Особое внимание будет уделено паттернам DDD. Вебинар ведет руководитель программы, преподаватель-практик Станислав Щетинников (программирует больше 10 лет. Архитектурой систем занимается уже больше 6 лет.) На данный момент директор разработки в Домклик. До этого несколько лет работал руководителем разработки в myTarget. Любит Data Science, python, golang, DDD и микросервисную архитектуру.   Вебинар проходит в рамках набора на профессиональный онлайн-курс «Архитектор программного обеспечения». Чтобы попасть на этот курс с welcome-скидкой, пройдите вступительный тест: https://otus.pw/x5oO/