👇 Внизу объяснение 👇
🐍 Range(start, stop, step) — это полезная функция в Python, которая позволяет создавать последовательности чисел, начиная с значения start, останавливаясь перед значением stop, при этом изменяя начальное число на значение step. Обязателным аргументом является stop, по умолчанию start равен 0, a step равен 1.
🔤 Range() работает только с целыми числами, поэтому код выдаст следующую ошибку: TypeError: 'float' object cannot be interpreted as an integer. Если бы start равнялось 3, то код вывел бы следующую последовательность: 3, 2, 1.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
😎4
Графический интерфейс с Python (часть 4)
🐍 Как вы уже знаете, Tkinter позволяет обрабатывать события виджетов, например, для обработки нажатия на кнопку в аргумент command надо передать соответствующую функцию. Однако что делать, если мы хотим обработать нажатие клавишы клавиатуры или получение фокуса?
🔤 С этим нам поможет метод bind(событие, функция). Событие задается по следуюущему шаблону: <модификатор-имя_события-клавиша>, а функцией является любая нами созданная функция, которая будет обрабатывать событие. В шаблоне не обязательно указывать все аргументы события. Выше представлены наиболее распространенные события и модфикаторы, а также названия клавиш в Tkinter.
🔤 Для того, чтобы отвязать событие от виджета достаточно воспользоватся методом unbind(). Работает он по следующему шаблону: widget.unbind(event)
📌 Код сверху создаст кнопку с текcтом «Click» и будет менять надпись «Button Click» на «Single Click» или «Double Click» в зависимости от того, каким образом нажали на кнопку: один раз или два раза левой кнопкой мыши.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Итераторы в Python (часть 1)
🐍 Итератор в Python — это объект, который реализует метод __next__(), возвращающий следующий элемент итерируемого объекта при каждом вызове, и бросающий исключение StopIteration, когда элементы закончились. List, Tuple, Range — все это является итераторами. Однако что делать, если нам нужны итераторы с большим функционалом? Для этого в Python существует замечательная встроенная библиотека itertools — лаконичная библиотека с эффективным использованием памяти, которая взяла лучшее из APL, Haskell и SML. Всего в itertools есть три вида итераторов: бесконечные, конечные и комбинаторные. Сегодня мы разберем бесконечные итераторы, которых 3 штуки:
🔤 Сount(start, step) — итератор, который постепенно увеличивает значение start на значение step. По умолчанию start равен 0, а step равен 1. Step может быть любым числом, к примеру, дробным или отрицательным.
🔤 Cycle(iterable) — итератор, возвращающий элементы из итерируемого объекта и сохраняющий копию каждого. Когда итерация исчерпана, возвращает элементы из сохраненной копии.
🔤 Repeat(object, times) — итератор, который бесконечно возвращает object, если аргумент times не указан.
📌 Также очень часто итераторы count() и repeat() используются в комбинации с такими фукнциями, как map() и zip(). Функция zip(iterator1, iterator2, iterator3 ...) представляет собой итератор кортежей, где первый элемент в каждом переданном итераторе объединяется в пару, а затем второй элемент в каждом переданном итераторе объединяется в другую и т. д. Функция map(function, iterables) применяет переданную функцию function к каждому элементу итератора iterables. Выше представлены разные примеры кода.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
😘2❤1
👇 Внизу объяснение 👇
🔤 Map() является итератором, который возвращает нам объект своего класса (map object), то есть результат будет следующим: <map object at 0x10d1cdcc0>
🔤 Чтобы привести вывод в нормальный вид, к примеру, надо преобразовать результат в список с помощью функции list(). Тогда вывод будет следующим: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код выше?
Anonymous Quiz
41%
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
38%
<map object at 0x10d1cdcc0>
17%
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3%
Error
👾2
Pprint | Понятный вывод в терминале
🐍 Pprint (Pretty-print) — это модуль Python, который позволяет красиво оформлять вывод в терминале в удобном и структурированном виде. Pprint бывает очень полезен при работе с сложными структурами данных, такими как словари, списки или их вложенные комбинации, а также обладает довольно большим количеством настроек.
📌 В коде выше представлена основная разница между обычным выводом и выводом через pprint().
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1
👇 Внизу объяснение 👇
🐍 NaN (Not a number) — это состояние числа с плавающей запятой, при котором машине не удалось посчитать какое-то выражение. К примеу, компьютер не в силах поделить 0 на 0, поэтому возвращает NaN.
🔤 Главной особенностью этого числа является то, что оно не равно самому себе, поэтому в словарь добавится еще одна пара, и длина словаря будет равнятся двум.
📌 P.S. Лучше не стоит ключом в словаре объявлять NaN, потому что код при попытке получить значение выдаст следующую ошибку: KeyError: nan. Если хотите проверить является ли переменная NaN, то можно, к примеру, использовать метод isnan() встроенного модуля math.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
🚀🌐 ВАКАНСИЯ: Middle FrontEnd Developer (JavaScript) 🌐🚀
Привет, фронтенд гуру! 👋
Мы расширяем нашу команду и ищем опытного Middle FrontEnd Developer, готового воплощать в жизнь самые смелые идеи наших проектов! 🚀
Требования к кандидату:
➡️ JavaScript/ES6+: Глубокие знания и опыт в разработке на чистом JavaScript и современных стандартах ECMAScript.
➡️ Фреймворки: Уверенное владение React.js и/или Vue.js. Опыт работы с другими фреймворками – большой плюс!
➡️ HTML5 & CSS3: Продвинутые навыки в создании современных и отзывчивых интерфейсов.
➡️ RESTful API: Опыт работы с взаимодействием фронтенда с бэкендом через RESTful API.
➡️ Сборщики и модульные системы: Знание инструментов типа Webpack, Babel и понимание модульных систем (CommonJS, ES6 Modules).
➡️ Git: Навыки работы с системами контроля версий, в том числе опыт с Git.
Будет плюсом:
➡️ Тестирование кода: Знание и опыт в написании модульных и интеграционных тестов.
➡️ Опыт работы с GraphQL: Понимание и практический опыт работы с GraphQL API.
➡️ Английский язык: Хорошее понимание технической документации на английском.
Софт-скилы:
➡️ Коммуникабельность: Способность четко и эффективно общаться в команде.
➡️ Работа в команде: Опыт работы в командной среде, умение слушать и высказывать свое мнение.
➡️ Самостоятельность: Готовность принимать ответственность за свою работу и принимать инициативу.
🐱 Оклад: от 1000$ / месяц
🤖 Контакты @lunasantrope
Привет, фронтенд гуру! 👋
Мы расширяем нашу команду и ищем опытного Middle FrontEnd Developer, готового воплощать в жизнь самые смелые идеи наших проектов! 🚀
Требования к кандидату:
Будет плюсом:
Софт-скилы:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Транслитерация c Python
🐍 Танслитерация — это точная передача знаков одного языка знаками другого, при которой каждая буква первого языка передаётся соответствующей буквой второго. Другими словами — это, например, писать на русском языке используя латиницу.
🔤 Для этой задачи в Python имеется библиотека transliterate, которая позволяет транслитерировать одни языки на латиницу и наоборот. Также библиотека обладает и другими функциями, к примеру, она может определить на каком языке написан текст.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
👇 Внизу объяснение 👇
🔤 При создании функций в Python есть два типа аргументов: позиционные и ключевые. Позиционные аргументы могут быть переданы только за счет позиции, а ключевые за счет key=value.
🔤 В Python все аргументы до косой черты считаются позиционными, следовательно код выдаст следующую ошибку: TypeError: number_sum() got some positional-only arguments passed as keyword arguments: 'first'
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
❤1
Итераторы в Python (часть 2)
🐍 Сегодня мы разберем некоторую часть конечных итераторов из встроенной библиотеки itertools.
🔤 Dropwhile(predicate, iterable) — итератор, который будет удалять элементы из объекта iterabale, пока условие predicate является правдой. Dropwhile() сразу же прекратит работу, когда условие станет ложным.
🔤 Takewhile(predicate, iterable) — итератор, который является противоположностью предыдущего: будет возвращать, то есть оставлять, элементы, пока условие является правдой. Также сразу же остановит работу, когда условие станет ложным.
🔤 Chain(*iterables) — итератор, который возвращает элемент из итерируемого объекта до тех пор, пока он не закончится, после чего переходит к следующему.
🔤 Chain.from_iterable(iterable) — итератор чем-то похож на предыдущий: на вход принимает один итерируемый объект и возвращает его «склеенную» версию.
🔝 PyBytes Media | ✉ Telegram / 📷 Instagram / 📈 Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3