👨💻 Перемещение файлов в Python
Для удобной манипуляции с файлами и папками в стандартной библиотеки Python существует специальный модуль
Функция
В случае успеха, функция вернёт новое местоположение файла. Если
#doc #python
Для удобной манипуляции с файлами и папками в стандартной библиотеки Python существует специальный модуль
shutil
. Функция
shutil.move(source, destination)
позволяет вам переместить любой файл или папку (даже непустую). Обратите внимание, что если destination
— это уже существующая папка, то файл/папка будет перемещена внутрь неё, в остальных случаях файл/папка будут скопированы точно по нужному адресу. В случае успеха, функция вернёт новое местоположение файла. Если
destination
существует и не является папкой, то будет выброшена ошибка.#doc #python
👍5
Я знаю что так будет, но почему?
Во первых вспоминаем, что значения по умолчанию генерируются только один раз и хранятся в
Во вторых, вспоминаем про булевые операции, что они могут возвращать не только True/False, а и сами значения.
#объяснение
Во первых вспоминаем, что значения по умолчанию генерируются только один раз и хранятся в
func.__defaults__
.Во вторых, вспоминаем про булевые операции, что они могут возвращать не только True/False, а и сами значения.
#объяснение
👍13
VSCode в браузере
Если у вас слабый пк или просто лень скачивать IDE на свой пк, то можете запустить его в браузере.
Он поддерживает почти все функции десктопного редактора, так ещё может подключаться к git репозиторию и править там (если есть доступ).
Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.
Ссылка на сайт
#другое
Если у вас слабый пк или просто лень скачивать IDE на свой пк, то можете запустить его в браузере.
Он поддерживает почти все функции десктопного редактора, так ещё может подключаться к git репозиторию и править там (если есть доступ).
Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.
Ссылка на сайт
#другое
👍12
Разница между is и ==
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
id()
.is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
__eq__
и предназначения для сравнения значений класса.Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
👍37❤🔥2
8 технологий, которые должен знать каждый Python-разработчик
Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.
Смотреть статью
Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.
Смотреть статью
Библиотека программиста
🐍 8 технологий, которые должен знать каждый Python-разработчик
Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.
👍10
Интерфейс командной строки
Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.
Установка:
Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.
📌 Документация
#lesson
Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.
Установка:
pip install typer
Это — интуинтивно понятный модуль для создания FAST API интерфейсов командой строки. Проще говоря, вы сможете создавать команды по типу git branch -b main
.Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.
📌 Документация
#lesson
👍12❤1
2D Game Development: From Zero To Hero
Daniele Penazzo
2022
Цель этой книги - стать организованным собранием знаний сообщества о разработке техник игр, алгоритмов и опыта.
🟢 Читать/скачать книгу
#python #eng
Daniele Penazzo
2022
Цель этой книги - стать организованным собранием знаний сообщества о разработке техник игр, алгоритмов и опыта.
🟢 Читать/скачать книгу
#python #eng
👍3
Про упаковку и распаковку
Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).
Упаковка позволяет собрать несколько значений в один список и после работать с ними.
Эти фишки делают код более красивым и элегантным, но стоит знать меру.
#объяснение
Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).
Упаковка позволяет собрать несколько значений в один список и после работать с ними.
Эти фишки делают код более красивым и элегантным, но стоит знать меру.
#объяснение
🥰23👍8❤3
global vs nonlocal
global — перечисленные идентификаторы стоит воспринимать как глобальные. А глобальные это те, которые доступны из любого места в модуле.
nonlocal — оператор, уведомляющий среду, что стоит работать не с локальной переменной, а уровнем выше. Часто используется с вложенными функциями.
#теория
global — перечисленные идентификаторы стоит воспринимать как глобальные. А глобальные это те, которые доступны из любого места в модуле.
nonlocal — оператор, уведомляющий среду, что стоит работать не с локальной переменной, а уровнем выше. Часто используется с вложенными функциями.
#теория
👍24👎3
🎙 «Всё фигня, давай по новой»: почему Гвидо ван Россум создал Python
В интервью для Oxford Union Гвидо ван Россум рассказал, как пришёл в программирование, почему ему не нравились готовые языки и как он создал Python. Он рассуждает, комфортно ли работать в Google и Dropbox, в чём роль опенсорсных проектов и как IT-сообщество должно измениться, чтобы туда пришло больше женщин. Мы послушали и решили пересказать вам :)
https://skillbox.ru/media/code/vsye-fignya-davay-po-novoy-pochemu-gvido-van-rossum-sozdal-python/
В интервью для Oxford Union Гвидо ван Россум рассказал, как пришёл в программирование, почему ему не нравились готовые языки и как он создал Python. Он рассуждает, комфортно ли работать в Google и Dropbox, в чём роль опенсорсных проектов и как IT-сообщество должно измениться, чтобы туда пришло больше женщин. Мы послушали и решили пересказать вам :)
https://skillbox.ru/media/code/vsye-fignya-davay-po-novoy-pochemu-gvido-van-rossum-sozdal-python/
👍7❤1👎1👏1
Media is too big
VIEW IN TELEGRAM
Как и где искать работу питонисту в 2022 году?
В этом видео автор разбирает кому, как и где искать занятость в IT-индустрии на позицию Python Dev в нынешней ситуации 2022 года.
00:00 Вступление
01:18 Актуальное положение на рынке труда
01:58 Где искать вакансии и как их подбирать
04:02 Как откликнуться на вакансию
05:03 Как описывать свой опыт
06:47 Про нелеревантный опыт
07:28 Немного о статистике
07:56 Социальные сети
11:18 Профильные чаты
12:52 Новостные блоги и сайты компаний
15:35 Сарафанное радио
17:05 Частые ошибки начинающих программистов
21:51 Заключение
Смотреть это видео на youtube: youtu.be/uSpZilernog
В этом видео автор разбирает кому, как и где искать занятость в IT-индустрии на позицию Python Dev в нынешней ситуации 2022 года.
00:00 Вступление
01:18 Актуальное положение на рынке труда
01:58 Где искать вакансии и как их подбирать
04:02 Как откликнуться на вакансию
05:03 Как описывать свой опыт
06:47 Про нелеревантный опыт
07:28 Немного о статистике
07:56 Социальные сети
11:18 Профильные чаты
12:52 Новостные блоги и сайты компаний
15:35 Сарафанное радио
17:05 Частые ошибки начинающих программистов
21:51 Заключение
Смотреть это видео на youtube: youtu.be/uSpZilernog
👍5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Drag-and-Drop на Python+OpenCV
Drag-and-Drop — простое и уже привычное действие, которое позволяет пользователю перенести элемент с места на место на экране компьютера или мобильного устройства с помощью мыши или пальцев. Но куда интереснее сделать перетаскивание жестами рук, как в фантастических фильмах с голограммами и проекциями.
И это можно реализовать с помощью Python и машинного обучения. Как? Вот статья, где есть понятная инструкция:
https://habr.com/ru/post/679444
Drag-and-Drop — простое и уже привычное действие, которое позволяет пользователю перенести элемент с места на место на экране компьютера или мобильного устройства с помощью мыши или пальцев. Но куда интереснее сделать перетаскивание жестами рук, как в фантастических фильмах с голограммами и проекциями.
И это можно реализовать с помощью Python и машинного обучения. Как? Вот статья, где есть понятная инструкция:
https://habr.com/ru/post/679444
👍9
Протоколы
Это фишка type hint'ов. За счёт протоколов мы говорим «У тебя должен быть атрибут A, B, C» вместо «Ты должен быть унаследован от ClassName».
Что-то похожее на интерфейсы в ООП языках, только мы проверяем наличие атрибутов, а не заставляем реализовывать методы.
И напоминаю, что type hint'ы никак не влияют на приложение, они только для прогеров и IDE.
#теория
Это фишка type hint'ов. За счёт протоколов мы говорим «У тебя должен быть атрибут A, B, C» вместо «Ты должен быть унаследован от ClassName».
Что-то похожее на интерфейсы в ООП языках, только мы проверяем наличие атрибутов, а не заставляем реализовывать методы.
И напоминаю, что type hint'ы никак не влияют на приложение, они только для прогеров и IDE.
#теория
👍4
Фильтруем символы англ. алфавита
#объяснение
i for i in x.lower()
— генераторное выражение (только здесь мы список не создаём). ord(i)
— возвращает порядковый номер символа. ord('a') = 97
, ord('z') = 122
. 97 <= ord(i) <= 122
— цепочка операторов. Проверяет, чтобы символ был от a до z.#объяснение
❤10🔥3👍2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Если биология, то только такая...🙃
👎53🤯15🌚8💩5❤3🥴3👍2🤔2🤡2😁1
Python_strings.pdf
517.2 KB
💾 Шпаргалка по работе со строками в Python
🌵 Создание и доступ к символам в строке
🌵 Срезы строк
🌵 Операторы сравнения строк == != < <= и т.д
🌵 Работа со строками в цикле for
#doc #python #cheatsheet
🌵 Создание и доступ к символам в строке
🌵 Срезы строк
🌵 Операторы сравнения строк == != < <= и т.д
🌵 Работа со строками в цикле for
#doc #python #cheatsheet
👍13👎2🔥2
Неожиданно, не правда ли?
Всё та же проблема с стандартом IEEE 754, он не может правильно посчитать сумму десяти 0.1, поэтому мы получили 0.9999999999999999.
Решение есть и это даже не decimal! Это fsum из модуля math, который может сам округлить результат вычислений.
#объяснение
Всё та же проблема с стандартом IEEE 754, он не может правильно посчитать сумму десяти 0.1, поэтому мы получили 0.9999999999999999.
Решение есть и это даже не decimal! Это fsum из модуля math, который может сам округлить результат вычислений.
#объяснение
👍29❤1
🔥 Полезные библиотеки Python
Cam-Hackers - используя данный Python скрипт мы можем сделать выборку по хакнутым и общедоступным камерам видеонаблюдения в разных странах.
Список содержит IP адрес и порт для подключения.
Установка:
⚙️ GitHub/Инструкция
#osint #python #pentest #soft #github
Cam-Hackers - используя данный Python скрипт мы можем сделать выборку по хакнутым и общедоступным камерам видеонаблюдения в разных странах.
Список содержит IP адрес и порт для подключения.
Установка:
apt-get install python3Использование:
$ apt-get install git
$ git clone https://github.com/AngelSecurityTeam/Cam-Hackers
$ cd Cam-Hackers
$ pip install -r requirements.txt
python3 cam-hackers.pyСкрипт вернет список из стран, останется лишь выбрать нужную вам.
⚙️ GitHub/Инструкция
#osint #python #pentest #soft #github
🤨11👍5❤2
👨💻 Полезные библиотеки Python
SiteBroker - кроссплатформенная утилита на Python для сбора информации и автоматизации проникновения на веб-ресурсы.
🌵 Собирает информацию по ресурсу
🌵 Ищет шеллы
🌵 Сканирует поддомены
🌵 Ищет админки и много чего интересного
🔥 Информация предоставлена исключительно с целью ознакомления. И побуждает обратить внимание на проблемы в безопасности.
⚙️ GitHub/Инструкция
#pentest #redteam #soft #github
SiteBroker - кроссплатформенная утилита на Python для сбора информации и автоматизации проникновения на веб-ресурсы.
🌵 Собирает информацию по ресурсу
🌵 Ищет шеллы
🌵 Сканирует поддомены
🌵 Ищет админки и много чего интересного
🔥 Информация предоставлена исключительно с целью ознакомления. И побуждает обратить внимание на проблемы в безопасности.
⚙️ GitHub/Инструкция
#pentest #redteam #soft #github
👍13🔥3