Легкая проверка на анаграммность.
Самым быстрым способом проверить, не являются ли строки анаграммами, будет через класс
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Самым быстрым способом проверить, не являются ли строки анаграммами, будет через класс
Counter
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Функция reduce
Модуль
Таким образом, в примере выше
Подписывайтесь на канал 👉@pythonofff
#функции #reduce
Модуль
functools
позволяет хорошо раскрыть функциональные возможности Python. Например, в functools
есть интересная функция reduce
, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат.Таким образом, в примере выше
reduce
умножает 1 на 2, затем результат этого умножения на 3 и так далее. Подписывайтесь на канал 👉@pythonofff
#функции #reduce
Вывод значения по умолчанию для отсутствующего ключа словаря
Обращение к несуществующему ключу словаря вызывает исключение. Избежать этого можно, вызывая метод
#codeexample
При создании собственного типа данных на основе словарей обратите внимание на метод
Подписывайтесь на канал 👉@pythonofff
Обращение к несуществующему ключу словаря вызывает исключение. Избежать этого можно, вызывая метод
get
. В указанном случае метод выдает None (по умолчанию) или заданное значение аргумента.#codeexample
d = {'a':1, 'b':2}
print(d.get('c'))
print(d.get('c', 3))
# На выходе:
None
3
При создании собственного типа данных на основе словарей обратите внимание на метод
__missing__
для возвращения аргумента при отсутствии ключа:
class MyDict(dict):
def _missing_(self, key):
return key
D = MyDict(a=1, b=2)
print(D)
print(D['a'])
print(D['c'])
# На выходе:
{'a': 1, 'b': 2}
1
c
Подписывайтесь на канал 👉@pythonofff
Искусственная нейронная сеть с нуля на Python c библиотекой NumPy
В туториале показано, как с нуля построить искусственную нейронную сеть на Python с помощью библиотеки NumPy. Сеть будет классифицировать изображения из датасета Fruit360.
Подробнее
Подписывайтесь на канал 👉@pythonofff
В туториале показано, как с нуля построить искусственную нейронную сеть на Python с помощью библиотеки NumPy. Сеть будет классифицировать изображения из датасета Fruit360.
Подробнее
Подписывайтесь на канал 👉@pythonofff
Транспонирование двумерного массива данных
Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией
Также, прошу вас реакциями проголосовать какой стиль скриншотов с кодом вам больше нравится. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией
zip
Также, прошу вас реакциями проголосовать какой стиль скриншотов с кодом вам больше нравится. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Вирус локер на Python и Tkinter
Локер – популярный вид вирусов, который блокирует компьютер, и чаще всего злоумышленники просят что-либо взамен на разблокировку. Обычно локер еще шифрует все файлы на компьютере, но мы такого делать не будем.
Подробнее
Подписывайтесь на канал 👉@pythonofff
Локер – популярный вид вирусов, который блокирует компьютер, и чаще всего злоумышленники просят что-либо взамен на разблокировку. Обычно локер еще шифрует все файлы на компьютере, но мы такого делать не будем.
Подробнее
Подписывайтесь на канал 👉@pythonofff
Назначение функций по условию
Многие из вас знакомы с тернарным оператором, позволяющим записать простое условное выражение с
Интерпретатор выполняет выражение
Но оказывается, тернарный оператор можно использовать не только для переменных, но и для функций.
Подписывайтесь на канал 👉@pythonofff
Многие из вас знакомы с тернарным оператором, позволяющим записать простое условное выражение с
if
:A = Y if X else Z
Интерпретатор выполняет выражение
Y
, если объект X
– True
, и Z
, если X
– False
.Но оказывается, тернарный оператор можно использовать не только для переменных, но и для функций.
Подписывайтесь на канал 👉@pythonofff
Красивый вывод
Мы очень часто отлаживаем код и пользуемся функцией print. Вывод в одну строку не всегда удобен. К примеру, когда мы делаем запрос серверу и получаем огромный json.
Встроенный модуль pprint поможет нам навести красоту. С каждым новым вложением он делает дополнительный отступ и вывод всегда радует глаз.
Вот параметры, которые принимает pprint.pprint:
object - объект форматирования,
stream=None - поток форматированного вывода,
indent=1 - отступ последующего уровня вложенности,
width=80 - ширина экрана печати,
depth=None - показывать уровней вложенности,
compact=False - компактное форматирование,
sort_dicts=True - сортировка словаря перед форматированием,
Мы даже можем переопределить стандартную функцию print написав
Подписывайтесь на канал 👉@pythonofff
Мы очень часто отлаживаем код и пользуемся функцией print. Вывод в одну строку не всегда удобен. К примеру, когда мы делаем запрос серверу и получаем огромный json.
Встроенный модуль pprint поможет нам навести красоту. С каждым новым вложением он делает дополнительный отступ и вывод всегда радует глаз.
Вот параметры, которые принимает pprint.pprint:
object - объект форматирования,
stream=None - поток форматированного вывода,
indent=1 - отступ последующего уровня вложенности,
width=80 - ширина экрана печати,
depth=None - показывать уровней вложенности,
compact=False - компактное форматирование,
sort_dicts=True - сортировка словаря перед форматированием,
Мы даже можем переопределить стандартную функцию print написав
print = pprint.pprint
Выше приведен пример кода. Вы можете самостоятельно поэкспериментировать с модулем. Подписывайтесь на канал 👉@pythonofff
Функция map
Привет, крайне часто начинающие программисты изобретают велосипеды при работе с коллекциями. Избежать часть таких ситуаций поможет знание
На вход принимает два обязательных аргмумента: функция-обработчик и итерируемый объект. Суть
Обратите внимание, в примере на картинке мы не пишем скобки у функции
Подписывайтесь на канал 👉@pythonofff
Привет, крайне часто начинающие программисты изобретают велосипеды при работе с коллекциями. Избежать часть таких ситуаций поможет знание
map
.На вход принимает два обязательных аргмумента: функция-обработчик и итерируемый объект. Суть
map
’a заключается в том, что он применяет переданную функцию к каждому элементу последовательности. А возвращает так называемый map-объект, который в дальнейшем можно конвертировать в обычный список и не только. Обратите внимание, в примере на картинке мы не пишем скобки у функции
add_five
при вызове map
– это означает то, что мы передаем объект функции, а не результат её выполнения. Подписывайтесь на канал 👉@pythonofff
Узнать все о функции
Современные редакторы кода всегда помогут правильно написать функцию, а некоторые даже их параметры. Но что делать, если нужно узнать точно описание функции, методы или прочитать документацию?
Для всех этих действий существует две функции
Очень удобно использовать
С помощью
Подписывайтесь на канал 👉@pythonofff
Современные редакторы кода всегда помогут правильно написать функцию, а некоторые даже их параметры. Но что делать, если нужно узнать точно описание функции, методы или прочитать документацию?
Для всех этих действий существует две функции
dir()
и help()
. Первая возвращает список всех доступных для функции методов. Вторая возвращает текстовую документацию.Очень удобно использовать
dir()
когда не знаешь, как точно пишется метод.С помощью
help()
можно узнать все об объекте и его методах даже без подключения к интернету. Подписывайтесь на канал 👉@pythonofff
Копирование словарей и других объектов
Новички часто допускают такую ошибку при создании копии списка:
Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод
Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль
Подписывайтесь на канал 👉@pythonofff
Новички часто допускают такую ошибку при создании копии списка:
lst2 = lst1
При работе с одним из словарей оказывается, что изменяются оба. Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод
copy()
, который нужен как раз для таких случаев. Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль
copy
и воспользовавшись методом deepcopy()
. Подписывайтесь на канал 👉@pythonofff
Как объединить все элементы списка Python в одну строку?
Советую пользоваться первым способом. Малое количество строк кода и его работоспособность - одно из главных качеств хорошего кода. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Советую пользоваться первым способом. Малое количество строк кода и его работоспособность - одно из главных качеств хорошего кода. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Как копировать файлы из одной папки в другую на Python?
Библиотека под названием
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Библиотека под названием
shutil
включает в себя несколько полезных функций для создания копий объектов на жестком диске. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов
Подписывайтесь на канал 👉@pythonofff
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов
A
, B
и С
. Или None
, если все предыдущие объекты окажутся пустыми. Подписывайтесь на канал 👉@pythonofff
Почему присвоение не является копированием?
В python все является объектом. В этом легко убедится воспользовавшись функцией
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
Подписывайтесь на канал 👉@pythonofff
В python все является объектом. В этом легко убедится воспользовавшись функцией
dir()
.При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
id()
, которая показывает номер объекта.Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
Подписывайтесь на канал 👉@pythonofff
Как отправить post запрос в Python?
Для того, чтобы отправить post-запрос, нам нужно воспользоваться библиотекой
Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
Подписывайтесь на канал 👉@pythonofff
Для того, чтобы отправить post-запрос, нам нужно воспользоваться библиотекой
requests
.Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
Подписывайтесь на канал 👉@pythonofff
Форматирование строк
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.
Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.
Подписывайтесь на канал 👉@pythonofff
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name)
. Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.
Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.
Подписывайтесь на канал 👉@pythonofff
Кортежи - tuple()
По своей сути кортежи это тот же список, но который имеет ряд преимуществ (если его правильно применять).
Кортежи занимают меньше места, в отличии от списка, но тюплы не изменяются. Их неизменность применяется для большей безопасности. Кроме того, кортежи быстрее работают.
На самом деле каждый из нас использовал tuple, просто не знал, что он им является. При создании списков используются квадратные скобки или функция list(), а для кортежей обычные скобки или tuple().
Как и списки кортежи можно сравнивать между собой. Правила при этом те же.
Используйте tuple, если вам нужен неизменяемый список или нужно получить и сразу же работать со значениями.
Подписывайтесь на канал 👉@pythonofff
По своей сути кортежи это тот же список, но который имеет ряд преимуществ (если его правильно применять).
Кортежи занимают меньше места, в отличии от списка, но тюплы не изменяются. Их неизменность применяется для большей безопасности. Кроме того, кортежи быстрее работают.
На самом деле каждый из нас использовал tuple, просто не знал, что он им является. При создании списков используются квадратные скобки или функция list(), а для кортежей обычные скобки или tuple().
Как и списки кортежи можно сравнивать между собой. Правила при этом те же.
Используйте tuple, если вам нужен неизменяемый список или нужно получить и сразу же работать со значениями.
Подписывайтесь на канал 👉@pythonofff
Как записать список в csv файл на Python?
Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.
В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.
В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Выполнить строку - eval()
Говорят, каждый программист должен написать калькулятор. Но если вы python разработчик, то вы можете сделать это в одну строчку:
eval() создана чтобы выполнять выражения и функции, обязательно возвращая какой-то результат. Так можно облегчить написание кода, принимая строкой словари, списки.
Единственное, что не умеет eval - присваивать что-то переменным. Зато она может их использовать!
Правильное применение функции сильно упростит вам жизнь.
Подписывайтесь на канал 👉@pythonofff
Говорят, каждый программист должен написать калькулятор. Но если вы python разработчик, то вы можете сделать это в одну строчку:
print(eval(input()))
Что за eval и почему это работает?eval() создана чтобы выполнять выражения и функции, обязательно возвращая какой-то результат. Так можно облегчить написание кода, принимая строкой словари, списки.
Единственное, что не умеет eval - присваивать что-то переменным. Зато она может их использовать!
Правильное применение функции сильно упростит вам жизнь.
Подписывайтесь на канал 👉@pythonofff
Распаковка
Неудобно каждый раз для вывода объединять строки через
На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
Подписывайтесь на канал 👉@pythonofff
Неудобно каждый раз для вывода объединять строки через
join()
или тем более как-то объединять числа. Мы можем распаковать кортеж или список, воспользовавшись звездочкой *. Со словарями данный способ не работает.На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
Подписывайтесь на канал 👉@pythonofff