Поведение классов в питоне - PullRequest
0 голосов
/ 18 сентября 2018

Я новичок в python, но я использую некоторые языки сценариев, такие как (Shell, Perl, Powershell) для своей повседневной работы. Что меня больше всего беспокоит, так это занятия в целом. Я имею некоторое представление о классах, но запутался, если анализировал приведенный ниже код.

Код:

my_var = "Hello"

class Test:
    my_var = "Hi"
    print("my_var from within the class : {}".format(my_var))
print("my_var from out side the class : {}".format(my_var))

Выход:

my_var from within the class : Hi
my_var from out side the class : Hello

Q> Почему операторы внутри класса выполняются без класса?

1 Ответ

0 голосов
/ 18 сентября 2018
Кодовый блок

A class аналогичен любому другому блоку кода, где вы можете выполнить любой оператор, который может сделать обычный блок кода, а переменные, определенные в блоке кода класса, будут локальными по отношению к блоку кода, поэтомуиспользование my_var в определении класса будет ссылаться на переменную класса my_var.

Единственное отличие с переменными или функциями, определенными внутри блока кода класса, состоит в том, что они станут атрибутамикласс, так что они доступны в другом месте через класс.

...