С днём программиста!
День программиста - профессиональный праздник, отмечается ежегодно в 256-ый день года.
В 2002 году сотрудники небольшой веб-студии организовали сбор подписей под обращением к правительству РФ, для признания 256-ого дня в году официальным праздником программистов.
Число 256 выбрано не просто так - это количество различных значений, которые можно выразить с помощью восьмиразрядного байта.
От имени нашего сообщества, хотим поздравить вас с нашим общим праздником. Продолжайте учиться и развиваться вместе с нами, получать самую актуальную профессию. А также давайте поздравим друг друга в нашем чатике ниже!)
День программиста - профессиональный праздник, отмечается ежегодно в 256-ый день года.
В 2002 году сотрудники небольшой веб-студии организовали сбор подписей под обращением к правительству РФ, для признания 256-ого дня в году официальным праздником программистов.
Число 256 выбрано не просто так - это количество различных значений, которые можно выразить с помощью восьмиразрядного байта.
От имени нашего сообщества, хотим поздравить вас с нашим общим праздником. Продолжайте учиться и развиваться вместе с нами, получать самую актуальную профессию. А также давайте поздравим друг друга в нашем чатике ниже!)
Случайные числа
Для генерации псевдослучайных чисел в Python существует встроенный модуль
В первом примере мы составляем фразу с выбором случайного настроения нашего компьютера: happy или sad, а во втором - выводим на экран случайное время в 12-часовом формате.
#случайные_числа #рандом #random #гайды
Для генерации псевдослучайных чисел в Python существует встроенный модуль
random
. Например, одноимённая функция random возвращает случайную десятичную дробь в диапазоне от 0.0 до 1.0, а randint(a, b)
вернёт случайное целое число в диапазоне от a до b. Также часто бывают полезны функция choice, которая возвращает случайный элемент из переданного ей списка и shuffle, возвращающая перемешанный в случайном порядке список, переданный ей в качестве аргумента.В первом примере мы составляем фразу с выбором случайного настроения нашего компьютера: happy или sad, а во втором - выводим на экран случайное время в 12-часовом формате.
#случайные_числа #рандом #random #гайды
Декораторы
Декоратор — это функция, которая позволяет обернуть другую функцию для расширения её функциональности без непосредственного изменения её кода. В языке Python декоратор - это функция, принимающая некоторую другую функцию в качестве аргумента и возвращающая уже новую функцию. То есть мы можем работать с переданной декоратору функцией любым доступным образом: вызывать её, передавать ей аргументы, обрабатывать данные, которые она возвращает и так далее. Для того, чтобы обернуть функцию в декоратор, необходимо написать имя декоратора через символ @ прямо перед строкой с объявлением декорируемой функции. Декораторы можно рассматривать как метапрограммирование, когда программы могут работать с другими программами как со своими данными.
В данном примере мы объявляем декоратор
Декоратор — это функция, которая позволяет обернуть другую функцию для расширения её функциональности без непосредственного изменения её кода. В языке Python декоратор - это функция, принимающая некоторую другую функцию в качестве аргумента и возвращающая уже новую функцию. То есть мы можем работать с переданной декоратору функцией любым доступным образом: вызывать её, передавать ей аргументы, обрабатывать данные, которые она возвращает и так далее. Для того, чтобы обернуть функцию в декоратор, необходимо написать имя декоратора через символ @ прямо перед строкой с объявлением декорируемой функции. Декораторы можно рассматривать как метапрограммирование, когда программы могут работать с другими программами как со своими данными.
В данном примере мы объявляем декоратор
benchmark
и оборачиваем в него функцию fetch_webpage
, которая отправляет HTTP-запрос к сайту google.com. Наш декоратор benchmark
принимает на вход эту функцию и возвращает функцию wrapper. Wrapper
засекает время выполнения.Что в результате выведет данный код в консоль?
Anonymous Quiz
46%
True
29%
False
12%
SyntaxError
12%
TypeError
Python + микроконтроллеры
Кроме привычных нам областей использования языков программирования, таких как разработка игр или написание сайтов, Python широко используется в чрезвычайно популярен в науке о данных и биоинформатике.
Кроме того, Python оптимизирован для работы на микроконтроллерах. Micro Python позволяет писать и умещать код на этом языке буквально в спичечном коробке, при этом выполняя все функции обычной версии. В сравнении с Raspberry Pi и Arduino, MP обладает рядом преимуществ: он мощнее, дешевле и не требует загрузки дополнительного ПО на компьютер
#факты #микроконтроллеры
Кроме привычных нам областей использования языков программирования, таких как разработка игр или написание сайтов, Python широко используется в чрезвычайно популярен в науке о данных и биоинформатике.
Кроме того, Python оптимизирован для работы на микроконтроллерах. Micro Python позволяет писать и умещать код на этом языке буквально в спичечном коробке, при этом выполняя все функции обычной версии. В сравнении с Raspberry Pi и Arduino, MP обладает рядом преимуществ: он мощнее, дешевле и не требует загрузки дополнительного ПО на компьютер
#факты #микроконтроллеры
Сборка python скрипта в исполняемый файл
Pyinstaller собирает python-приложение и все зависимости в один пакет. Пользователь может запускать приложение без установки интерпретатора python или каких-либо модулей. Устанавливается pyinstaller как и любая другая библиотека -
Чтоб собрать исполняемый файл нужно запустить команду
#гайды
Pyinstaller собирает python-приложение и все зависимости в один пакет. Пользователь может запускать приложение без установки интерпретатора python или каких-либо модулей. Устанавливается pyinstaller как и любая другая библиотека -
pip install pyinstaller
.Чтоб собрать исполняемый файл нужно запустить команду
pyinstaller --one-file main.py
, по умолчанию файл собирается с консолью, чтоб отключить её нужно при сборке проекта дописать параметр --no-console
.#гайды
Что в результате выведет данный код в консоль?
Anonymous Quiz
47%
{1, 2, 3, 4}
31%
{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
11%
False, False, False, False
58%
False, True, True, True
12%
SyntaxError
10%
TypeError
Преобразование типов
Процесс преобразования значения переменной одного типа данных (целые числа, строки и т. д.) в другой называется преобразованием типа. Как и во многих других языках программирования преобразование бывает двух типов.
При неявном преобразовании типов, язык сам преобразует один тип данных в другой. Этот процесс не требует нашего участия. В первом примере мы складываем целое число с дробным. В данный момент, язык приводит оба типа к самому сложному из них, т.е к дробному, в результате в ответе мы получаем дробное число.
При явном преобразовании программист сам меняет тип данных, на требуемый, явно указывая тип с помощью функций
🐍 Укус питона // 💬 Чат // #типы_данных #строки #числа
Процесс преобразования значения переменной одного типа данных (целые числа, строки и т. д.) в другой называется преобразованием типа. Как и во многих других языках программирования преобразование бывает двух типов.
При неявном преобразовании типов, язык сам преобразует один тип данных в другой. Этот процесс не требует нашего участия. В первом примере мы складываем целое число с дробным. В данный момент, язык приводит оба типа к самому сложному из них, т.е к дробному, в результате в ответе мы получаем дробное число.
При явном преобразовании программист сам меняет тип данных, на требуемый, явно указывая тип с помощью функций
str
, int
и float
. Во втором примере мы преобразовываем строку в число с помощью функции int
.🐍 Укус питона // 💬 Чат // #типы_данных #строки #числа
Лямбда функции
Лямбда функции позволяют задать функцию анонимно, т.е без имени. Она возвращает объект функции, который присваивается, нужной нам, переменной. Лямбды имеют очень простой синтаксис:
В первом примере, наша функция принимает на вход число и возвращает его квадрат. В следующем примере мы готовим приветствие: для пользователя: функция
🐍 Укус питона // 💬 Чат // #теория #функции #лямбды
Лямбда функции позволяют задать функцию анонимно, т.е без имени. Она возвращает объект функции, который присваивается, нужной нам, переменной. Лямбды имеют очень простой синтаксис:
lambda аргументы: выражение
, поэтому часто их используют когда нужны безымянные функции на небольшой промежуток времени.В первом примере, наша функция принимает на вход число и возвращает его квадрат. В следующем примере мы готовим приветствие: для пользователя: функция
greetings
принимает на вход имя и возвращает приветствие с этим именем. В последнем примере мы проверяем число на нечётность.🐍 Укус питона // 💬 Чат // #теория #функции #лямбды