В чём разница между типами list и tuple?
В Python, список (list) и кортеж (tuple) являются двумя различными типами данных, которые предоставляют набор элементов в определенном порядке. Основная разница между ними заключается в том, что список может быть изменен (мутабельный тип), а кортеж является неизменяемым (иммутабельным типом).
То есть, после создания кортежа, вы не можете изменять его содержимое, добавлять или удалять элементы. Это делает кортежи более эффективными по памяти и дает гарантию того, что их содержимое не будет изменено случайно в коде. В то время как список может быть изменен, что было бы очень полезно, если вам нужна коллекция элементов, которые вы можете изменять по ходу выполнения кода.
#doc #python
В Python, список (list) и кортеж (tuple) являются двумя различными типами данных, которые предоставляют набор элементов в определенном порядке. Основная разница между ними заключается в том, что список может быть изменен (мутабельный тип), а кортеж является неизменяемым (иммутабельным типом).
То есть, после создания кортежа, вы не можете изменять его содержимое, добавлять или удалять элементы. Это делает кортежи более эффективными по памяти и дает гарантию того, что их содержимое не будет изменено случайно в коде. В то время как список может быть изменен, что было бы очень полезно, если вам нужна коллекция элементов, которые вы можете изменять по ходу выполнения кода.
#doc #python
Функция range()
Для итерации индексов последовательности можно объединить
Однако в большинстве таких случаев удобнее использовать функцию
Во многоногих случаях объект, возвращаемый
Мы называем такие объекты
Наконец, может быть, вам интересно, как получить список из
#doc #python
Для итерации индексов последовательности можно объединить
range()
и len()
следующим образом (Код 1)Однако в большинстве таких случаев удобнее использовать функцию
enumerate()
, если просто напечатать range
, то происходит что-то странное (Код 2)Во многоногих случаях объект, возвращаемый
range()
ведёт себя как список, но на самом деле это не так. Это объект, который возвращает последовательно элементы желаемой последовательности при выполнении итерации, но на самом деле он не создаёт список, тем самым экономя пространство.Мы называем такие объекты
итерируемыми
, и это все объекты, которые предназначаются для функций и конструкций, ожидающих от них поочерёдного предоставления элементов до тех пор, пока источник не иссякнет. Мы видели, что оператор for
является такой конструкцией, в то время как пример функции который принимает итерируемое значение sum()
(Код 3)Наконец, может быть, вам интересно, как получить список из
range
. (Код 4)#doc #python
Прочитать произвольную строку из файла
Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.
И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле
Чтобы вывести это на экран, может помочь функция
#doc #python
Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.
И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле
text.txt
:Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!
Чтобы вывести это на экран, может помочь функция
getline
из модуля linecache
. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline
кеширует все строчки файла в списке, так что следующие вызовы get_answer
отработают моментально.#doc #python
Делаем планировщик задач
К моему удивлению, далеко не все знают про пакет
Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#doc #python
К моему удивлению, далеко не все знают про пакет
schedule
, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
schedule
не требует внешних зависимостей и сам в целом легковесный. Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#doc #python
Ключевое слово nonlocal
Похожее по функционалу на global, ключевое слово
Поведение
Основное различие с
#python #doc
Похожее по функционалу на global, ключевое слово
nonlocal
позволяет обращаться к переменным из нелокальной области видимости.Поведение
nonlocal
заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.Основное различие с
global
в том, что с помощью nonlocal
нельзя получить переменные из глобальной области видимости.#python #doc
Находим соответствия в строках
В стандартной библиотеке Python существует модуль
Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
#python #doc
В стандартной библиотеке Python существует модуль
difflib
, в котором есть интересный метод get_close_matches
. Он позволяет найти в списке строки, похожие на некую исходную.Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
n
, который задаёт максимальное число возвращаемых совпадений.#python #doc
Получаем исходный код объекта
Встроенный модуль
Сегодня поговорим только про
В аргументы достаточно передать необходимый объект. Но важно отметить, что встроенные функции не получится проинспектировать.
#python #doc
Встроенный модуль
inspect
помогает разработчикам исследовать уже написанные программы.Сегодня поговорим только про
getsource()
, который возвращает весь исходный код функции, класса или модуля в виде строки.В аргументы достаточно передать необходимый объект. Но важно отметить, что встроенные функции не получится проинспектировать.
#python #doc
Media is too big
VIEW IN TELEGRAM
▶️ Pytest. Краткое руководство
Главным конкурентом старого доброго unittest в мире тестирования на python является модный молодежный pytest.
В видео посмотрим как написать самый простой тест, посмотрим на интеграцию со старыми тестами юниттеста и обсудим плюсы и минусы этой библиотеки.
👀 Смотреть на YouTube
#python #doc
Главным конкурентом старого доброго unittest в мире тестирования на python является модный молодежный pytest.
В видео посмотрим как написать самый простой тест, посмотрим на интеграцию со старыми тестами юниттеста и обсудим плюсы и минусы этой библиотеки.
👀 Смотреть на YouTube
#python #doc