Что выведет этот код?
Anonymous Quiz
29%
[6.222e-04, ‘aboy’, True, 641]
16%
[6.2202, ‘aboy’, 1, 641]
46%
TypeError
9%
[6.2202, ‘aboy’, False, 87]
Двоичное представление чисел
При двоичной системе каждый разряд числа может иметь только два значения - 0 и 1. Например, 0 в десятичной системе также будет равен 0 в двоичной системе, а 1 в десятичной системе будет соответствовать 1 в двоичной системе. Следующее число в десятичной системе - 2 в двоичной системе будет соответствовать 10. То есть, когда мы к 1 прибавляем 1, то результатом будет 10. И так далее.
Например, 5 в двоичном представлении 101 и имеет три разряда. Для вывода десятичного числа в двоичной системе можно применять спецификатор 0b, первая часть кода:
Без указания спецификатора функция print() выводит число в десятичной системе.
При этом Python позволяет сразу определять число в двоичной форме. Для этого число в двоичной форме указывается после префикса 0b, вторая часть кода:
🐍 Укус питона // 💬 Чат // #теория #числа
При двоичной системе каждый разряд числа может иметь только два значения - 0 и 1. Например, 0 в десятичной системе также будет равен 0 в двоичной системе, а 1 в десятичной системе будет соответствовать 1 в двоичной системе. Следующее число в десятичной системе - 2 в двоичной системе будет соответствовать 10. То есть, когда мы к 1 прибавляем 1, то результатом будет 10. И так далее.
Например, 5 в двоичном представлении 101 и имеет три разряда. Для вывода десятичного числа в двоичной системе можно применять спецификатор 0b, первая часть кода:
Без указания спецификатора функция print() выводит число в десятичной системе.
При этом Python позволяет сразу определять число в двоичной форме. Для этого число в двоичной форме указывается после префикса 0b, вторая часть кода:
🐍 Укус питона // 💬 Чат // #теория #числа
Что выведет этот код?
Anonymous Quiz
22%
[0, 0, ]
21%
[0, 5, 2, 0, ‘gfg’, ”, []]
20%
Error
38%
[5, 2, ‘gfg’]
Локальный контекст
В отличие от глобальных переменных локальная переменная определяется внутри функции и доступна только из этой функции, то есть имеет локальную область видимости, смотрим 👀:
В данном случае в каждой из двух функций определяется локальная переменная name. И хотя эти переменные называются одинаково, но тем не менее это две разных переменных, каждая из которых доступна только в рамках своей функции. Также в функции say_hi() определена переменная surname, которая также является локальной, поэтому в функции say_bye() мы ее использовать не сможем.
🐍 Укус питона // 💬 Чат // #теория #переменные #контекст #scope
В отличие от глобальных переменных локальная переменная определяется внутри функции и доступна только из этой функции, то есть имеет локальную область видимости, смотрим 👀:
В данном случае в каждой из двух функций определяется локальная переменная name. И хотя эти переменные называются одинаково, но тем не менее это две разных переменных, каждая из которых доступна только в рамках своей функции. Также в функции say_hi() определена переменная surname, которая также является локальной, поэтому в функции say_bye() мы ее использовать не сможем.
🐍 Укус питона // 💬 Чат // #теория #переменные #контекст #scope
Что выведет этот код?
Anonymous Quiz
19%
L*oo frph e| wkhq1
48%
L*oo#frph#e|#wkhq1
22%
l*oo@frph@e|$wkhq1
10%
O*oo#Frph#E|#wKhq1
Обращение к элементам кортежа
Обращение к элементам в кортеже происходит также, как и в списке, по индексу. Индексация начинается также с нуля при получении элементов с начала списка и с -1 при получении элементов с конца списка, первая часть кода:
Но так как кортеж - неизменяемый тип (immutable), то мы не сможем изменить его элементы. То есть следующая запись работать не будет, маленькая вторая часть:
При необходимости мы можем разложить кортеж на отдельные переменные, третья часть:
🐍 Укус питона // 💬 Чат // #теория #кортежи
Обращение к элементам в кортеже происходит также, как и в списке, по индексу. Индексация начинается также с нуля при получении элементов с начала списка и с -1 при получении элементов с конца списка, первая часть кода:
Но так как кортеж - неизменяемый тип (immutable), то мы не сможем изменить его элементы. То есть следующая запись работать не будет, маленькая вторая часть:
При необходимости мы можем разложить кортеж на отдельные переменные, третья часть:
🐍 Укус питона // 💬 Чат // #теория #кортежи
Обновление данных
Для работы с бинарными файлами в Python может применяться модуль - shelve. Он сохраняет объекты в файл с определенным ключом. Давайте рассмотрим обновление данных для этого модуля.
Для изменения данных достаточно присвоить по ключу новое значение, а для добавления данных - определить новый ключ, смотрим код:
🐍 Укус питона // 💬 Чат // #теория #shelve #данные
Для работы с бинарными файлами в Python может применяться модуль - shelve. Он сохраняет объекты в файл с определенным ключом. Давайте рассмотрим обновление данных для этого модуля.
Для изменения данных достаточно присвоить по ключу новое значение, а для добавления данных - определить новый ключ, смотрим код:
🐍 Укус питона // 💬 Чат // #теория #shelve #данные
Что выведет этот код?
Anonymous Quiz
50%
1 2 3 4 5 6.
13%
1 2 3 4 5 6 7.
25%
error.
12%
None of these
Игнорирование значений
Если какой-то элемент коллекции не нужен, то обычно для него определяется переменная с именем _ (прочерк), смотрим пример:
Здесь нам не важен второй элемент кортежа, поэтому для него определяем переменную _. Хотя в реальности _ - такое же действительное имя, как name и company, вторая часть кода:
🐍 Укус питона // 💬 Чат // #теория #распаковка #значения
Если какой-то элемент коллекции не нужен, то обычно для него определяется переменная с именем _ (прочерк), смотрим пример:
Здесь нам не важен второй элемент кортежа, поэтому для него определяем переменную _. Хотя в реальности _ - такое же действительное имя, как name и company, вторая часть кода:
🐍 Укус питона // 💬 Чат // #теория #распаковка #значения
Замена в строке
● Для замены в строке одной подстроки на другую применяется метод replace():
● replace(old, new): заменяет подстроку old на new
replace(old, new, num): параметр num указывает, сколько вхождений подстроки old надо заменить на new. По умолчанию num равно -1, что соответствует первой версии метода и приводит к замене всех вхождений.
🐍 Укус питона // 💬 Чат // #теория #строки
● Для замены в строке одной подстроки на другую применяется метод replace():
● replace(old, new): заменяет подстроку old на new
replace(old, new, num): параметр num указывает, сколько вхождений подстроки old надо заменить на new. По умолчанию num равно -1, что соответствует первой версии метода и приводит к замене всех вхождений.
🐍 Укус питона // 💬 Чат // #теория #строки
Параметры декоратора dataclass
С помощью параметров декоратор dataclass позволяет сгенерировать дополнительный шаблонный код и вообще настроить генерацию кода, смотрим код:
Рассмотрим базовые параметры:
● init: если равно True, то генерируется функция init(). По умолчанию равно True
● repr: если равно True, то генерируется функция repr(), которая возвращает строковое представление объекта. По умолчанию равно True
● eq: если равно True, то генерируется функция eq(), которая сравнивает два объекта. По умолчанию равно True
● order: если равно True, то генерируются функции lt (операция <), le (<=), gt (>), ge (>=), которые применяются для упорядочивания объектов. По умолчанию равно False
● unsafe_hash: если равно True, то генерируется функция hash(), которая возвращает хеш объекта. По умолчанию равно False
🐍 Укус питона // 💬 Чат // #теория #dataclass
С помощью параметров декоратор dataclass позволяет сгенерировать дополнительный шаблонный код и вообще настроить генерацию кода, смотрим код:
Рассмотрим базовые параметры:
● init: если равно True, то генерируется функция init(). По умолчанию равно True
● repr: если равно True, то генерируется функция repr(), которая возвращает строковое представление объекта. По умолчанию равно True
● eq: если равно True, то генерируется функция eq(), которая сравнивает два объекта. По умолчанию равно True
● order: если равно True, то генерируются функции lt (операция <), le (<=), gt (>), ge (>=), которые применяются для упорядочивания объектов. По умолчанию равно False
● unsafe_hash: если равно True, то генерируется функция hash(), которая возвращает хеш объекта. По умолчанию равно False
🐍 Укус питона // 💬 Чат // #теория #dataclass