Атрибуты объектов
Кроме стандартных обращений к атрибутам объекта через точку, в питоне для этого есть несколько специальных функций. Сегодня рассмотрим
Первыми двумя аргументами в обеих функциях идут непосредственно объект и название атрибута в виде строки, а в
Кроме стандартных обращений к атрибутам объекта через точку, в питоне для этого есть несколько специальных функций. Сегодня рассмотрим
getattr
и setattr
. По их названию, думаю, не сложно догадаться, за что они отвечают - получение и "установка" атрибута.Первыми двумя аргументами в обеих функциях идут непосредственно объект и название атрибута в виде строки, а в
setattr
потребуется передать еще и новое значение для атрибута.Что выведет следующий код ?
Anonymous Quiz
8%
Jame
20%
dnoB
43%
emaJ
12%
dnoB semaJ
17%
Узнать ответ
Символ нижнего подчеркивания
Рассмотрим еще одно его применение.
Если имя начинается с одного подчеркивания, то такая переменная, метод или класс в модуле считается приватной ( ее использование предполагается только внутри класса или модуля).
Если вы обратитесь к приватной переменной из-вне модуля или класса, где она определена, то, вероятно, ваша IDE просто подчеркнет такой код, как подозрительный, но он будет выполняться без ошибок или предупреждения.
Замечание
Рассмотрим еще одно его применение.
Если имя начинается с одного подчеркивания, то такая переменная, метод или класс в модуле считается приватной ( ее использование предполагается только внутри класса или модуля).
Если вы обратитесь к приватной переменной из-вне модуля или класса, где она определена, то, вероятно, ваша IDE просто подчеркнет такой код, как подозрительный, но он будет выполняться без ошибок или предупреждения.
Замечание
from module import *
не будет импортировать приватные члены модуля. Но импортировать их можно принудительно: from module import _Base, _my_version
Что выведет код выше ?
Anonymous Quiz
18%
var=
34%
var=1095
11%
=1095
27%
Error
2%
None
8%
Узнать ответ
Цикл while в одну строку
Этот фрагмент кода демонстрирует реализацию цикла while в одну строчку.
Рассмотрим 2 варианта - с одной строкой кода в теле цикла, и двумя.
#воднустроку
Этот фрагмент кода демонстрирует реализацию цикла while в одну строчку.
Рассмотрим 2 варианта - с одной строкой кода в теле цикла, и двумя.
#воднустроку
Что выведет код выше ?
Anonymous Quiz
43%
<class 'generator'>
24%
<class 'int'>
26%
<class 'function'>
7%
<class 'number'>
Заполните EXPRESSION для верного выполнения кода.
Anonymous Quiz
27%
k
28%
(k is not None, k)
19%
(k is None, k)
26%
(k, k is None)
Декораторы
Миссия декораторов достаточно проста. Они позволяют написать некую обёртку для функции, изменить или дополнить её функционал, не трогая код самой функции.
В примере мы превратили функцию куба числа в функцию с выводом результата в консоль.
Декораторы, как вопрос, встречаются чуть ли не на каждом собеседовании. Это крайне важный аспект языка.
Миссия декораторов достаточно проста. Они позволяют написать некую обёртку для функции, изменить или дополнить её функционал, не трогая код самой функции.
В примере мы превратили функцию куба числа в функцию с выводом результата в консоль.
Декораторы, как вопрос, встречаются чуть ли не на каждом собеседовании. Это крайне важный аспект языка.