To sort some sequence in Python you use
With the
Let's suppose we also want to put the numbers with the same absolute value in ascending order. In that case, we can provide a tuple as a comparison key:
This is not some
sorted
:In : sorted([1, -1, 2, -3, 3])
Out: [-3, -1, 1, 2, 3]
With the
key
argument you can provide a function that will be used to get a comparison key of each value. Let's sort the same sequence by absolute values:In : sorted([1, -1, 2, -3, 3], key=abs)
Out: [1, -1, 2, -3, 3]
Let's suppose we also want to put the numbers with the same absolute value in ascending order. In that case, we can provide a tuple as a comparison key:
In : sorted([1, -1, 2, -3, 3], key=lambda x: (abs(x), x))
Out: [-1, 1, 2, -3, 3]
This is not some
sorted
magic, this is how tuples are sorted in general:In : (1, 2) == (1, 2)
Out: True
In : (1, 2) > (1, 1)
Out: True
In : (1, 2) < (2, 1)
Out: True
Forwarded from Реальный Python
This media is not supported in your browser
VIEW IN TELEGRAM
A Boids Simulation Written in Python with Pygame - PyNBoids
https://morioh.com/p/2c771588f648
Code: https://github.com/Nikorasu/PyNBoids
👉 @python_real
https://morioh.com/p/2c771588f648
Code: https://github.com/Nikorasu/PyNBoids
👉 @python_real
Аргументы по умолчанию в функциях Python
В этой статье мы расскажем, как использовать аргументы по умолчанию в функциях Python.
#python #Arguments
@BookPython
В этой статье мы расскажем, как использовать аргументы по умолчанию в функциях Python.
#python #Arguments
@BookPython
Forwarded from Python академия
Хеширование паролей Python
Для Python 3.x
Здесь пароли будут хешироваться для последующего сохранения в базе данных.
Тут мы будем использовать salt. salt является случайной последовательностью, добавленной к строке пароля перед использованием хеш-функции.
salt используется для предотвращения перебора по словарю (dictionary attack) и атак радужной таблицы (rainbow tables attacks).
Подписывайтесь на канал 👉@pythonofff
Для Python 3.x
Здесь пароли будут хешироваться для последующего сохранения в базе данных.
Тут мы будем использовать salt. salt является случайной последовательностью, добавленной к строке пароля перед использованием хеш-функции.
salt используется для предотвращения перебора по словарю (dictionary attack) и атак радужной таблицы (rainbow tables attacks).
Подписывайтесь на канал 👉@pythonofff
Логирование в Python
Логирование — это процесс записи потока кода при его выполнении наряду с записью любых других событий. Запись происходит в файлы, которые впоследствии можно использовать для анализа и устранения возникающих неполадок.
Логирование помогает:
В отладке кода для определения потока исходного кода во время разработки и после развертывания.
Оповещении об исключительном событии, вызванном кодом. Например, нехватке памяти и т. д.
Поиске пользователей или систем, обращающихся к коду. Подробнее
Логирование — это процесс записи потока кода при его выполнении наряду с записью любых других событий. Запись происходит в файлы, которые впоследствии можно использовать для анализа и устранения возникающих неполадок.
Логирование помогает:
В отладке кода для определения потока исходного кода во время разработки и после развертывания.
Оповещении об исключительном событии, вызванном кодом. Например, нехватке памяти и т. д.
Поиске пользователей или систем, обращающихся к коду. Подробнее
When you use a variable in Python, it's first looked up in the current scope. If no such variable is found, the next enclosing scope is searched. That is repeated until the global namespace is reached.
However, the variable assignment doesn't work the same way. The new variable is always created in the current scope unless
x = 1
def scope():
x = 2
def inner_scope():
print(x) # prints 2
inner_scope()
scope()
However, the variable assignment doesn't work the same way. The new variable is always created in the current scope unless
global
or nonlocal
is specified:x = 1
def scope():
x = 2
def inner_scope():
x = 3
print(x) # prints 3
inner_scope()
print(x) # prints 2
scope()
print(x) # prints 1
global
allows using variables of global namespaces while nonlocal
searches for the variable in the nearest enclosing scope. Compare:x = 1
def scope():
x = 2
def inner_scope():
global x
x = 3
print(x) # prints 3
inner_scope()
print(x) # prints 2
scope()
print(x) # prints 3
x = 1
def scope():
x = 2
def inner_scope():
nonlocal x
x = 3
print(x) # prints 3
inner_scope()
print(x) # prints 3
scope()
print(x) # prints 1
Forwarded from Python академия
Python Requests анализ запроса
При составлении запроса стоит иметь в виду, что перед его фактической отправкой на целевой сервер библиотека requests выполняет определенную подготовку. Подготовка запроса включает в себя такие вещи, как проверка заголовков и сериализация содержимого JSON.
Если открыть
Проверка PreparedRequest открывает доступ ко всей информации о выполняемом запросе. Это может быть пейлоад, URL, заголовки, аутентификация и многое другое.
Подписывайтесь на канал 👉@pythonofff
При составлении запроса стоит иметь в виду, что перед его фактической отправкой на целевой сервер библиотека requests выполняет определенную подготовку. Подготовка запроса включает в себя такие вещи, как проверка заголовков и сериализация содержимого JSON.
Если открыть
.request
, можно просмотреть PreparedRequest
.Проверка PreparedRequest открывает доступ ко всей информации о выполняемом запросе. Это может быть пейлоад, URL, заголовки, аутентификация и многое другое.
Подписывайтесь на канал 👉@pythonofff
Манипуляции с датой и временем в Python с помощью Pandas
Работать с датой и временем несложно, но нужно запомнить много справочной информации. В этой статье мы рассмотрим большую ее часть. Для демонстрации используется стандартная библиотека Python datetime и Pandas.
#python #Pandas
Работать с датой и временем несложно, но нужно запомнить много справочной информации. В этой статье мы рассмотрим большую ее часть. Для демонстрации используется стандартная библиотека Python datetime и Pandas.
#python #Pandas
list
allows you to store an array of any objects. This is quite helpful but may be inefficient. The array
module can be used to represent arrays of base values compactly. The supported values include various C types including char
, int
, long
, double
and so on. The actual representation is determined by the C implementation.In : a = array.array('B')
In : a.append(240)
In : a.append(159)
In : a.append(144)
In : a.append(180)
In : a.tobytes().decode('utf8')
Out: '
🐴'
Модуль Python zipapp: создание исполняемых zip-приложений.
https://realpython.com/python-zipapp/
#python #zipapp
https://realpython.com/python-zipapp/
#python #zipapp
If you want to iterate over several iterables at once, the
Notice, that
zip
function may be a good choice. It returns a generator that yields tuples containing one element from every original iterables:In : eng = ['one', 'two', 'three']
In : ger = ['eins', 'zwei', 'drei']
In : for e, g in zip(eng, ger):
...: print('{e} = {g}'.format(e=e, g=g))
...:
one = eins
two = zwei
three = drei
Notice, that
zip
accepts iterables as separate arguments, not a list of arguments. To unzip values, you can use the *
operator:In : list(zip(*zip(eng, ger)))
Out: [('one', 'two', 'three'), ('eins', 'zwei', 'drei')]
Forwarded from Python академия
Продвинутая работа со списками
При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.
В общей форме формирования среза выглядит следующим образом:
Комбинации параметров помогут достичь необходимого результата.
Подписывайтесь на канал 👉@pythonofff
При работе со списками крайне полезно знать как правильно формировать срезы списка. В приложениях, активно использующих группы данных - срезы незаменимый инструмент.
В общей форме формирования среза выглядит следующим образом:
list[start:end:step]
Комбинации параметров помогут достичь необходимого результата.
Подписывайтесь на канал 👉@pythonofff
Аудио-графическое шифрование или как звук в картинку спрятать
Под покровом вечера пятницы, поглощая хмельные запасы нашей необъятной я наткнулся на плеяды статей о шифровании. Что только куда не зашифровывали, от совсем уж банального шифра Цезаря до менее банального шифрования изображений в аудиофайл. Наслаждаясь достойным вечера чтивом, в голову зашел не разувшись интересный вопрос: "-А кто-нибудь звук в картинку прятал?". Зудящая жажда знаний заставила меня смахнуть с живота остатки кальмаровых колец и сесть за свою рабочую лошадку. Далее
Под покровом вечера пятницы, поглощая хмельные запасы нашей необъятной я наткнулся на плеяды статей о шифровании. Что только куда не зашифровывали, от совсем уж банального шифра Цезаря до менее банального шифрования изображений в аудиофайл. Наслаждаясь достойным вечера чтивом, в голову зашел не разувшись интересный вопрос: "-А кто-нибудь звук в картинку прятал?". Зудящая жажда знаний заставила меня смахнуть с живота остатки кальмаровых колец и сесть за свою рабочую лошадку. Далее
Как не просто выучить Python, а разобраться в алгоритмах и структурах данных, автоматических тестах, освоить Django и всё необходимое для качественной разработки в команде?
Например, освоить профессию на Хекслете. Курс невозможно просто «отсидеть» или «прослушать», на нём дают только самое необходимое для условий реального продакшена — доступ к Open Source проектам, базе тестовых задач для подготовки к собеседованиям, кейсы для портфолио.
Так что многие студенты получают оффер ещё во время обучения. Работодатели указывают курсы Хекслета как преимущество при найме.
Узнайте подробнее о профессии «Python-разработчик» и оцените формат школы: https://clck.ru/gmXGE
Например, освоить профессию на Хекслете. Курс невозможно просто «отсидеть» или «прослушать», на нём дают только самое необходимое для условий реального продакшена — доступ к Open Source проектам, базе тестовых задач для подготовки к собеседованиям, кейсы для портфолио.
Так что многие студенты получают оффер ещё во время обучения. Работодатели указывают курсы Хекслета как преимущество при найме.
Узнайте подробнее о профессии «Python-разработчик» и оцените формат школы: https://clck.ru/gmXGE
The
These two types are
io
module provides two types of in-memory file-like objects. Such objects may be helpful for interacting with interfaces that only support files without the need of creating one. The obvious example is unit-testing.These two types are
BytesIO
and StringIO
that works with bytes and string respectively.In : f = StringIO()
In : f.write('first\n')
Out: 6
In : f.write('second\n')
Out: 7
In : f.seek(0)
Out: 0
In : f.readline()
Out: 'first\n'
In : f.readline()
Out: 'second\n'
Прими участие в масштабном онлайн-хакатоне «Moscow City Hack 2022» от Агентства инноваций Москвы!
Тебя ждут:
🏆 Призовой фонд 3 400 000 ₽;
💻 Задачи по разработке сервисов для мотивации студентов, привлечения волонтеров, цифрового маркетинга, импортозамещения и разоблачения fake news;
🧐 Эксперты от крупного бизнеса и Правительства Москвы;
🎓 Образовательная программа с мастер-классами и интенсивами;
🎁 Красочный мерч, подарки от партнеров и много крутых активностей 🔥
📅 Хакатон пройдет 10-13 июня 2022 года
Регистрируйся уже сейчас!
https://bit.ly/3Fog8od – индивидуальная ссылка с utm-меткой
Узнать подробности и найти команду можно в нашем Telegram-чате
t.me/MoscowCityHack
Тебя ждут:
🏆 Призовой фонд 3 400 000 ₽;
💻 Задачи по разработке сервисов для мотивации студентов, привлечения волонтеров, цифрового маркетинга, импортозамещения и разоблачения fake news;
🧐 Эксперты от крупного бизнеса и Правительства Москвы;
🎓 Образовательная программа с мастер-классами и интенсивами;
🎁 Красочный мерч, подарки от партнеров и много крутых активностей 🔥
📅 Хакатон пройдет 10-13 июня 2022 года
Регистрируйся уже сейчас!
https://bit.ly/3Fog8od – индивидуальная ссылка с utm-меткой
Узнать подробности и найти команду можно в нашем Telegram-чате
t.me/MoscowCityHack
python
supports several forms of starting a script. The usual one is python foo.py
; in that case, foo.py
would be simply executed.However, you can also do
python -m foo
. If foo
is not a package, then foo.py
is found in sys.path
and executed. If it is, then Python executes foo/__init__.py
, and foo/__main__.py
after that. Note, that __name__
is equal to foo
during __init__.py
execution, but it's __main__
during __main__.py
execution.You also can do
python dir/
or even python dir.zip
. In that case, dir/__main__.py
is looked for and executed if found.$ ls foo
__init__.py __main__.py
$ cat foo/__init__.py
print(__name__)
$ cat foo/__main__.py
print(__name__)
$ python -m foo
foo
__main__
$ python foo/
__main__
$ python foo/__init__.py
__main__
Forwarded from Python академия
Примеры использования модуля os в Python
Функция
Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать
После этого мы изменили папки, при помощи
Подписывайтесь на канал 👉@pythonofff
os.chdir()
и os.getcwd()
Функция
os.chdir
позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии.Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать
os.getcwd()
. Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE.После этого мы изменили папки, при помощи
os.chdir()
.Подписывайтесь на канал 👉@pythonofff
Forwarded from GitHub Сообщество
translatepy - универсальная библиотека и CLI, написанная на Python, для перевода, транслитерации, проверки орфографии, озвучивания текста в речь и поиск слов в словарях, с использованием следующих API:
• Google Translate
• Yandex Translate
• Bing Translate
• DeepL Translate
• Reverso
• MyMemory
• LibreTranslate
Библиотека использует разные лазейки в API для того чтобы бесплатно делать запросы, соответственно не требуются API ключи для работы сервисов перевода. Также есть возможность написать свой API модуль перевода.
#GitHub | #Python #Translation
👉 @Githublib
• Google Translate
• Yandex Translate
• Bing Translate
• DeepL Translate
• Reverso
• MyMemory
• LibreTranslate
Библиотека использует разные лазейки в API для того чтобы бесплатно делать запросы, соответственно не требуются API ключи для работы сервисов перевода. Также есть возможность написать свой API модуль перевода.
#GitHub | #Python #Translation
👉 @Githublib
A lot of system calls can be interrupted by an incoming signal. If a programmer wants the call to be completed anyway, they have to issue it again.
The notable example is
However, since Python 3.5, thanks to PEP 475, Python cares about all such calls for you. The following program ends on the first
The notable example is
sleep(x)
function that is expected to freeze the program for x
seconds, but in reality, it can return earlier if a signal appears.However, since Python 3.5, thanks to PEP 475, Python cares about all such calls for you. The following program ends on the first
SIGINT
it receives in any Python before 3.5. But it sleeps for exactly five seconds regardless of the signals in Python 3.5+.import signal
import time
def signal_handler(signal, frame):
print('Caught')a
signal.signal(signal.SIGINT, signal_handler)
time.sleep(5)
Подборка каналов для IT специалистов 🎯
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Excel лайфхак📌
https://t.me/Excel_lifehack
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Вакансии для программистов 📌
https://t.me/progjob
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/java_360 Книги по Java Rus
https://t.me/python_360 Книги по Python Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Excel лайфхак📌
https://t.me/Excel_lifehack
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Вакансии для программистов 📌
https://t.me/progjob
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/java_360 Книги по Java Rus
https://t.me/python_360 Книги по Python Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий