Назначение функций по условию
Многие из вас знакомы с тернарным оператором, позволяющим записать простое условное выражение с if:
A = Y if X else Z
Интерпретатор выполняет выражение Y, если объект X – True, и Z, если X – False.
Но оказывается, тернарный оператор можно использовать не только для переменных, но и для функций.
Подписывайтесь на канал 👉@pythonofff
Многие из вас знакомы с тернарным оператором, позволяющим записать простое условное выражение с if:
A = Y if X else Z
Интерпретатор выполняет выражение Y, если объект X – True, и Z, если X – False.
Но оказывается, тернарный оператор можно использовать не только для переменных, но и для функций.
Подписывайтесь на канал 👉@pythonofff
👍7
Красивый вывод
Мы очень часто отлаживаем код и пользуемся функцией print. Вывод в одну строку не всегда удобен. К примеру, когда мы делаем запрос серверу и получаем огромный json.
Встроенный модуль pprint поможет нам навести красоту. С каждым новым вложением он делает дополнительный отступ и вывод всегда радует глаз.
Вот параметры, которые принимает pprint.pprint:
object - объект форматирования,
stream=None - поток форматированного вывода,
indent=1 - отступ последующего уровня вложенности,
width=80 - ширина экрана печати,
depth=None - показывать уровней вложенности,
compact=False - компактное форматирование,
sort_dicts=True - сортировка словаря перед форматированием,
Мы даже можем переопределить стандартную функцию print написав print = pprint.pprint
Выше приведен пример кода. Вы можете самостоятельно поэкспериментировать с модулем.
Подписывайтесь на канал 👉@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
👍6🔥1
Функция map
Привет, крайне часто начинающие программисты изобретают велосипеды при работе с коллекциями. Избежать часть таких ситуаций поможет знание map.
На вход принимает два обязательных аргмумента: функция-обработчик и итерируемый объект. Суть map’a заключается в том, что он применяет переданную функцию к каждому элементу последовательности. А возвращает так называемый map-объект, который в дальнейшем можно конвертировать в обычный список и не только.
Обратите внимание, в примере на картинке мы не пишем скобки у функции add_five при вызове map – это означает то, что мы передаем объект функции, а не результат её выполнения.
Подписывайтесь на канал 👉@pythonofff
Привет, крайне часто начинающие программисты изобретают велосипеды при работе с коллекциями. Избежать часть таких ситуаций поможет знание map.
На вход принимает два обязательных аргмумента: функция-обработчик и итерируемый объект. Суть map’a заключается в том, что он применяет переданную функцию к каждому элементу последовательности. А возвращает так называемый map-объект, который в дальнейшем можно конвертировать в обычный список и не только.
Обратите внимание, в примере на картинке мы не пишем скобки у функции add_five при вызове map – это означает то, что мы передаем объект функции, а не результат её выполнения.
Подписывайтесь на канал 👉@pythonofff
👍8
Узнать все о функции
Современные редакторы кода всегда помогут правильно написать функцию, а некоторые даже их параметры. Но что делать, если нужно узнать точно описание функции, методы или прочитать документацию?
Для всех этих действий существует две функции dir() и help(). Первая возвращает список всех доступных для функции методов. Вторая возвращает текстовую документацию.
Очень удобно использовать dir() когда не знаешь, как точно пишется метод.
С помощью help() можно узнать все об объекте и его методах даже без подключения к интернету.
Подписывайтесь на канал 👉@pythonofff
Современные редакторы кода всегда помогут правильно написать функцию, а некоторые даже их параметры. Но что делать, если нужно узнать точно описание функции, методы или прочитать документацию?
Для всех этих действий существует две функции dir() и help(). Первая возвращает список всех доступных для функции методов. Вторая возвращает текстовую документацию.
Очень удобно использовать dir() когда не знаешь, как точно пишется метод.
С помощью help() можно узнать все об объекте и его методах даже без подключения к интернету.
Подписывайтесь на канал 👉@pythonofff
👍1
💪Хотите освоить AnyLogic и прокачать навыки моделирования?
📗На открытом уроке разберём готовую модель пункта выдачи товаров, научимся выгружать данные и анализировать результаты с помощью встроенных инструментов AnyLogic.
📈Вы узнаете, как собирать статистику, оценивать KPI и создавать графики. Эти навыки помогут вам решать реальные бизнес-задачи.
👉Присоединяйтесь к вебинару 17 декабря в 19:00 мск. Участники получат скидку🎁 на участие в курсе «Имитационное моделирование на базе AnyLogic»: https://vk.cc/cFXW6L
📗На открытом уроке разберём готовую модель пункта выдачи товаров, научимся выгружать данные и анализировать результаты с помощью встроенных инструментов AnyLogic.
📈Вы узнаете, как собирать статистику, оценивать KPI и создавать графики. Эти навыки помогут вам решать реальные бизнес-задачи.
👉Присоединяйтесь к вебинару 17 декабря в 19:00 мск. Участники получат скидку🎁 на участие в курсе «Имитационное моделирование на базе AnyLogic»: https://vk.cc/cFXW6L
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
Корутины
Некой противоположностью генераторов являются корутины. Для примера напишем функцию, которая будет в бесконечном цикле подставлять значение и выводить строку.
Обратите внимание на то, как было использовано ключевое слово yield. При таком написании создаётся не генератор, а корутина, что позволяет не просто генерировать значения, но и принимать их.
Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран.
Подписывайтесь на канал 👉@pythonofff
Некой противоположностью генераторов являются корутины. Для примера напишем функцию, которая будет в бесконечном цикле подставлять значение и выводить строку.
Обратите внимание на то, как было использовано ключевое слово yield. При таком написании создаётся не генератор, а корутина, что позволяет не просто генерировать значения, но и принимать их.
Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран.
Подписывайтесь на канал 👉@pythonofff
👍1
Копирование словарей и других объектов
Новички часто допускают такую ошибку при создании копии списка:
lst2 = lst1
При работе с одним из словарей оказывается, что изменяются оба.
Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод copy(), который нужен как раз для таких случаев.
Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль copy и воспользовавшись методом deepcopy().
Подписывайтесь на канал 👉@pythonofff
Новички часто допускают такую ошибку при создании копии списка:
lst2 = lst1
При работе с одним из словарей оказывается, что изменяются оба.
Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод copy(), который нужен как раз для таких случаев.
Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль copy и воспользовавшись методом deepcopy().
Подписывайтесь на канал 👉@pythonofff
👍5❤1
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
Подписывайтесь на канал 👉@pythonofff
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
Подписывайтесь на канал 👉@pythonofff
🔥3❤1👍1
Почему присвоение не является копированием?
В python все является объектом. В этом легко убедится воспользовавшись функцией dir().
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией id(), которая показывает номер объекта.
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
Подписывайтесь на канал 👉@pythonofff
В python все является объектом. В этом легко убедится воспользовавшись функцией dir().
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией id(), которая показывает номер объекта.
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
Подписывайтесь на канал 👉@pythonofff
🔥2
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
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 и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
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 и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Как отправить post запрос в Python?
Для того, чтобы отправить post-запрос, нам нужно воспользоваться библиотекой requests.
Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
Подписывайтесь на канал 👉@pythonofff
Для того, чтобы отправить post-запрос, нам нужно воспользоваться библиотекой requests.
Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
Подписывайтесь на канал 👉@pythonofff
❤2
Форматирование строк
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name). Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.
В 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
❤2👍1
Как записать список в csv файл на Python?
Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.
В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.
Подписывайтесь на канал 👉@pythonofff
Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.
В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.
Подписывайтесь на канал 👉@pythonofff
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Получи 120 вебинаров и занятий по AI бесплатно 🔥
Это именно то, что нужно, чтобы быть в курсе всех трендов в мире AI
Вас ждет огромная база контента. Сейчас в библиотеке:
🔸 89 вебинаров
🔸 18 записей реалити
🔸 4 мастер-класса
🔸 12 примеров занятий
🔸 9 занятий с тренинга по трудоустройству в IT
🔸 44 задачи по Python
Университет искусственного интеллекта — это:
1. Крупнейший AI-университет в РФ и СНГ
2. 8000+ студентов со всего мира
3. 600+ созданных студентами AI-проекта
4. Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет)
5. Сборная Университета - победители крупнейших AI-хакатонов России
6. Трудоустраиваем выпускников в крупнейшие компании, такие как Яндекс, ВТБ, Сбербанк, Роскосмос и другие
🤖 Откройте доступ прямо сейчас и подберите тему под свою задачу!
Это именно то, что нужно, чтобы быть в курсе всех трендов в мире AI
Вас ждет огромная база контента. Сейчас в библиотеке:
🔸 89 вебинаров
🔸 18 записей реалити
🔸 4 мастер-класса
🔸 12 примеров занятий
🔸 9 занятий с тренинга по трудоустройству в IT
🔸 44 задачи по Python
Университет искусственного интеллекта — это:
1. Крупнейший AI-университет в РФ и СНГ
2. 8000+ студентов со всего мира
3. 600+ созданных студентами AI-проекта
4. Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет)
5. Сборная Университета - победители крупнейших AI-хакатонов России
6. Трудоустраиваем выпускников в крупнейшие компании, такие как Яндекс, ВТБ, Сбербанк, Роскосмос и другие
🤖 Откройте доступ прямо сейчас и подберите тему под свою задачу!
Выполнить строку - eval()
Говорят, каждый программист должен написать калькулятор. Но если вы python разработчик, то вы можете сделать это в одну строчку:
print(eval(input()))
Что за eval и почему это работает?
eval() создана чтобы выполнять выражения и функции, обязательно возвращая какой-то результат. Так можно облегчить написание кода, принимая строкой словари, списки.
Единственное, что не умеет eval - присваивать что-то переменным. Зато она может их использовать!
Правильное применение функции сильно упростит вам жизнь.
Подписывайтесь на канал 👉@pythonofff
Говорят, каждый программист должен написать калькулятор. Но если вы python разработчик, то вы можете сделать это в одну строчку:
print(eval(input()))
Что за eval и почему это работает?
eval() создана чтобы выполнять выражения и функции, обязательно возвращая какой-то результат. Так можно облегчить написание кода, принимая строкой словари, списки.
Единственное, что не умеет eval - присваивать что-то переменным. Зато она может их использовать!
Правильное применение функции сильно упростит вам жизнь.
Подписывайтесь на канал 👉@pythonofff
👍3
Распаковка
Неудобно каждый раз для вывода объединять строки через join() или тем более как-то объединять числа. Мы можем распаковать кортеж или список, воспользовавшись звездочкой *. Со словарями данный способ не работает.
На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
Подписывайтесь на канал 👉@pythonofff
Неудобно каждый раз для вывода объединять строки через join() или тем более как-то объединять числа. Мы можем распаковать кортеж или список, воспользовавшись звездочкой *. Со словарями данный способ не работает.
На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
Подписывайтесь на канал 👉@pythonofff
В одну строчку
Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, матрицу из одних нулей. Или постоянно возрастающий список.
Такие методы лучше использовать когда надо сгенерировать что-то маленькое или нужное. Если использовать нужно сейчас и строго по одному, то лучше использовать итераторы. Об итераторах подробнее расскажем чуть позже.
Примеры списочных выражений на картинке. В следующий раз не придется набирать одинаковый текст несколько раз.
Подписывайтесь на канал 👉@pythonofff
Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, матрицу из одних нулей. Или постоянно возрастающий список.
Такие методы лучше использовать когда надо сгенерировать что-то маленькое или нужное. Если использовать нужно сейчас и строго по одному, то лучше использовать итераторы. Об итераторах подробнее расскажем чуть позже.
Примеры списочных выражений на картинке. В следующий раз не придется набирать одинаковый текст несколько раз.
Подписывайтесь на канал 👉@pythonofff
В одну строку - итератор
Вы уже знаете, как писать многие крутые штуки в одну строчку. Но можно ускорить работу кода, используя итераторы.
Итератор - объект, который хранит начало, конец, текущий элемент и правило преобразований. В итоге мы можем получать только новые значения.
Преимущество в том, что итераторы потребляют намного меньше памяти, чем списки и кортежи.
Вы уже точно знаете один итератор и даже пользуетесь им - range().
А есть еще один очень полезный - map(). Он принимает два аргумента, функцию для задания правила преобразования и что-то, что требуется преобразовать.
Подписывайтесь на канал 👉@pythonofff
Вы уже знаете, как писать многие крутые штуки в одну строчку. Но можно ускорить работу кода, используя итераторы.
Итератор - объект, который хранит начало, конец, текущий элемент и правило преобразований. В итоге мы можем получать только новые значения.
Преимущество в том, что итераторы потребляют намного меньше памяти, чем списки и кортежи.
Вы уже точно знаете один итератор и даже пользуетесь им - range().
А есть еще один очень полезный - map(). Он принимает два аргумента, функцию для задания правила преобразования и что-то, что требуется преобразовать.
Подписывайтесь на канал 👉@pythonofff
😁3
Параметры функции *args, **kwargs
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что параметры функции *args и **kwargs – общепринятые имена переменных, а разбирать мы будем звездочки перед ними.
В примере функция принимает обязательный аргумент value, а остальных аргументов она как бы не ожидает. В таком случае *args упаковывает все не именованные аргументы в кортеж, а **kwargs – все именованные в словарь.
В целом, конструкция с *args, **kwargs получается достаточно полезной, если мы не знаем, кто и в каких целях будет использовать нашу функцию. То есть, мы можем запихнуть в аргументы после такого практически всё.
Подписывайтесь на канал 👉@pythonofff
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что параметры функции *args и **kwargs – общепринятые имена переменных, а разбирать мы будем звездочки перед ними.
В примере функция принимает обязательный аргумент value, а остальных аргументов она как бы не ожидает. В таком случае *args упаковывает все не именованные аргументы в кортеж, а **kwargs – все именованные в словарь.
В целом, конструкция с *args, **kwargs получается достаточно полезной, если мы не знаем, кто и в каких целях будет использовать нашу функцию. То есть, мы можем запихнуть в аргументы после такого практически всё.
Подписывайтесь на канал 👉@pythonofff
❤4