Предварительное условие: объектно-ориентированное программирование на Python | Набор 1 (класс, объект и члены)
В Python мы используем двойное подчеркивание (или __) перед именем атрибута, и эти атрибуты не будут видны снаружи.
|
Выход :
2 7 Traceback (most recent call last): File "filename.py", line 13, in print (myObject.__hiddenVariable) AttributeError: MyClass instance has no attribute '__hiddenVariable'
В приведенной выше программе мы пытались получить доступ к скрытой переменной вне класса, используя объект, и она вызвала исключение.
Мы можем получить доступ к значению скрытого атрибута с помощью хитрого синтаксиса:
|
Выход :
10
Частные методы доступны за пределами их класса, но не так легко доступны. Ничто в Python не является по-настоящему приватным; внутренне, имена частных методов и атрибутов подогнаны и unmangled на лету, чтобы они казались недоступными их данными именами [см это для источника].
Печать объектов дает нам информацию об объектах, с которыми мы работаем. В C ++ мы можем сделать это, добавив друга ostream & operator
|
Выход :
From str method of Test: a is 1234,b is 5678 [Test a:1234 b:5678]
Важные моменты о печати:
- Если метод __str__ не определен, print t (или print str (t)) использует __repr__.
class
Test:
def
__init__(
self
, a, b):
self
.a
=
a
self
.b
=
b
def
__repr__(
self
):
return
"Test a:%s b:%s"
%
(
self
.a,
self
.b)
Код водителя
t
=
Test(
1234
,
5678
)
print
(t)
Выход :
Test a:1234 b:5678
- Если метод __repr__ не определен, используется значение по умолчанию.
class
Test:
def
__init__(
self
, a, b):
self
.a
=
a
self
.b
=
b
Код водителя
t
=
Test(
1234
,
5678
)
print
(t)
Выход :
Эта статья предоставлена Shwetanshu Rohatgi . Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Объектно-ориентированное программирование на Python | Набор 1 (класс, объект и члены)
- Объектно-ориентированное программирование на C ++
- Python | Сюжет Matplotlib с использованием объектно-ориентированного API
- Python | Matplotlib Графическое построение с использованием объектно-ориентированного API
- Тип данных Object (dtype) в NumPy Python
- Python | объект os.confstr_names
- Python | os.supports_bytes_environ объект
- Python | os.supports_bytes_environ объект
- Python | os.supports_follow_symlinks объект
- Python | os.sysconf_names объект
- Сравнение объектов Python: is vs ==
- Python | метод object ()
- Python | объект os.environ
- Python | объект os.supports_fd
- Python | os.supports_dir_fd объект
0.00 (0%) 0 votes