Что в результате выведет данный код в консоль?
Anonymous Quiz
47%
{1, 2, 3, 4}
32%
{1, 2, 3, 4, 3, 2, 1}
15%
[1, 2, 3, 4, 3, 2, 1]
6%
[1, 2, 3, 4]
Срезы строк
Строки в python представляются как упорядоченный набор символов, это означает что у каждого символа есть свой индекс - порядковый номер по которому мы можем его получить.
Часто требуется получить не конкретный символ, а несколько. Для этого в язык добавили срезы. Чтоб срезать строку надо указать в квадратных скобках начальный и конечный индексы. В первом примере мы срезаем строку до 5-ого символа. Во втором примере со второго и до пятого.
Также возможно указывать индекс с конца и шаг. В третьем примере мы срезаем строку до 2-ого символа с конца. В следующем примере мы срезаем каждый второй символ, указав через второе двоеточие нужный шаг.
🐍 Укус питона // 💬 Чат // #теория #строки #срезы
Строки в python представляются как упорядоченный набор символов, это означает что у каждого символа есть свой индекс - порядковый номер по которому мы можем его получить.
Часто требуется получить не конкретный символ, а несколько. Для этого в язык добавили срезы. Чтоб срезать строку надо указать в квадратных скобках начальный и конечный индексы. В первом примере мы срезаем строку до 5-ого символа. Во втором примере со второго и до пятого.
Также возможно указывать индекс с конца и шаг. В третьем примере мы срезаем строку до 2-ого символа с конца. В следующем примере мы срезаем каждый второй символ, указав через второе двоеточие нужный шаг.
🐍 Укус питона // 💬 Чат // #теория #строки #срезы
Что в результате выведет данный код в консоль?
Anonymous Quiz
12%
SyntaxError
22%
11111111
13%
10
45%
0000000
8%
101
Операторы break и continue
Оператор
Оператор
🐍 Укус питона // 💬 Чат // #теория #циклы #break #continue
Оператор
break
применяется для прерывания текущей итерации цикла. В первом примере цикл прерывается на шестой итерации.Оператор
continue
прерывает текущую итерацию без остановки всего цикла. Во втором примере, шестая итерация прерывается до вывода числа в консоль и начинается седьмая.🐍 Укус питона // 💬 Чат // #теория #циклы #break #continue
Функция split
Метод
В первом примере, мы не указываем разделитель и метод разделяет строку по умолчанию, по символу пробела.
Далее, мы указываем разделитель ";" и строка разделяется по этому символу. В последнем примере мы указывает вторым параметром в качестве количества разбиений пятерку и строка разбивается на 5 подстрок + оставшиеся элементы.
🐍 Укус питона // 💬 Чат // #теория #строки #методы
Метод
split
используется для разбиения строк на подстроки по разделителю. Функция принимает два необязательных параметра, разделитель и максимальное количество разбиений. В первом примере, мы не указываем разделитель и метод разделяет строку по умолчанию, по символу пробела.
Далее, мы указываем разделитель ";" и строка разделяется по этому символу. В последнем примере мы указывает вторым параметром в качестве количества разбиений пятерку и строка разбивается на 5 подстрок + оставшиеся элементы.
🐍 Укус питона // 💬 Чат // #теория #строки #методы
Что в результате выведет данный код в консоль?
Anonymous Quiz
9%
False, True, False, True
10%
False, False, False, False
58%
False, True, True, True
12%
SyntaxError
10%
TypeError
Преобразование типов
Процесс преобразования значения переменной одного типа данных (целые числа, строки и т. д.) в другой называется преобразованием типа. Как и во многих других языках программирования преобразование бывает двух типов.
При неявном преобразовании типов, язык сам преобразует один тип данных в другой. Этот процесс не требует нашего участия. В первом примере мы складываем целое число с дробным. В данный момент, язык приводит оба типа к самому сложному из них, т.е к дробному, в результате в ответе мы получаем дробное число.
При явном преобразовании программист сам меняет тип данных, на требуемый, явно указывая тип с помощью функций
🐍 Укус питона // 💬 Чат // #типы_данных #строки #числа
Процесс преобразования значения переменной одного типа данных (целые числа, строки и т. д.) в другой называется преобразованием типа. Как и во многих других языках программирования преобразование бывает двух типов.
При неявном преобразовании типов, язык сам преобразует один тип данных в другой. Этот процесс не требует нашего участия. В первом примере мы складываем целое число с дробным. В данный момент, язык приводит оба типа к самому сложному из них, т.е к дробному, в результате в ответе мы получаем дробное число.
При явном преобразовании программист сам меняет тип данных, на требуемый, явно указывая тип с помощью функций
str
, int
и float
. Во втором примере мы преобразовываем строку в число с помощью функции int
.🐍 Укус питона // 💬 Чат // #типы_данных #строки #числа
Лямбда функции
Лямбда функции позволяют задать функцию анонимно, т.е без имени. Она возвращает объект функции, который присваивается, нужной нам, переменной. Лямбды имеют очень простой синтаксис:
В первом примере, наша функция принимает на вход число и возвращает его квадрат. В следующем примере мы готовим приветствие: для пользователя: функция
🐍 Укус питона // 💬 Чат // #теория #функции #лямбды
Лямбда функции позволяют задать функцию анонимно, т.е без имени. Она возвращает объект функции, который присваивается, нужной нам, переменной. Лямбды имеют очень простой синтаксис:
lambda аргументы: выражение
, поэтому часто их используют когда нужны безымянные функции на небольшой промежуток времени.В первом примере, наша функция принимает на вход число и возвращает его квадрат. В следующем примере мы готовим приветствие: для пользователя: функция
greetings
принимает на вход имя и возвращает приветствие с этим именем. В последнем примере мы проверяем число на нечётность.🐍 Укус питона // 💬 Чат // #теория #функции #лямбды
Что в результате выведет данный код в консоль?
Anonymous Quiz
7%
5
71%
25
6%
SyntaxError
4%
None
11%
Ничего
Функция filter
Функция
Функция принимает на вход функцию и итерируемый объект. В примере мы создали функцию
🐍 Укус питона // 💬 Чат // #теория #фильтр #filter
Функция
filter
фильтрует элементы итерируемого объекта по заданной функции. Проще говоря, фильтр сохраняет те элементы, для которых функция вернула True
.Функция принимает на вход функцию и итерируемый объект. В примере мы создали функцию
is_even
которая проверяет число на четность, далее передав функцию в фильтр, мы проверяем список чисел и сохраняем только четные цифры.🐍 Укус питона // 💬 Чат // #теория #фильтр #filter
Что в результате выведет данный код в консоль?
Anonymous Quiz
10%
SyntaxError
31%
End
44%
Программа уйдет в бесконечный цикл
14%
kotlin, go, java, python
Основы парсинга. Парсим habr.
Парсинг - автоматизированный сбор и структуризация данных в нужном виде. Обычно его используют для быстрого наполнения своих сайтов и каналов контентом или анализа конкурентов. В этом посте мы спарсим статьи с главной страницы хабра.
Для парсинга понадобятся две библиотеки: requests - для http запроса к сайту и beautifulsoup4 - для удобной навигации по html документу. Установить их можно, прописав
Далее с помощью метода
Подсматриваем нужные нам селекторы в инспекторе кода браузера и начинаем парсинг. В начале получаем список всех статей. Далее в цикле, также с помощью метода select вытаскиваем нужные нам поля, например название и ссылку. Метод select всегда возвращает список объектов, поэтому если нам нужен только один объект, всегда нужно указать его индекс, например
🐍 Укус питона // 💬 Чат // #гайды #библиотеки #парсинг #habr
Парсинг - автоматизированный сбор и структуризация данных в нужном виде. Обычно его используют для быстрого наполнения своих сайтов и каналов контентом или анализа конкурентов. В этом посте мы спарсим статьи с главной страницы хабра.
Для парсинга понадобятся две библиотеки: requests - для http запроса к сайту и beautifulsoup4 - для удобной навигации по html документу. Установить их можно, прописав
pip install requests
и pip install beautifulsoup4
соответственно. Далее с помощью метода
requests.get
получаем главную страницу хабра и передаём её в объект beautifulsoup. Библиотека beautifulsoup позволяет нам с помощью метода select
получить список объектов по css-селектору.Подсматриваем нужные нам селекторы в инспекторе кода браузера и начинаем парсинг. В начале получаем список всех статей. Далее в цикле, также с помощью метода select вытаскиваем нужные нам поля, например название и ссылку. Метод select всегда возвращает список объектов, поэтому если нам нужен только один объект, всегда нужно указать его индекс, например
articles[0]
. У каждого объекта есть поля и атрибуты, например поле text содержит весь текст в объекте, а в словаре attrs хранятся все атрибуты объекта.🐍 Укус питона // 💬 Чат // #гайды #библиотеки #парсинг #habr
Что в результате выведет данный код в консоль?
Anonymous Quiz
11%
468
25%
SyntaxError
19%
9753
32%
20
12%
97530