Re: Класи в Пайтон
Знову виникло запитання.
Наприклад, такий код.class TestClass(): def __init__(self): self.b = 124 class hello(): def __init__(self): print TestClass.b c = TestClass() v = hello()
Тепер, мені треба отримати доступ до b з першого класу в другому класі.
ВиводитьAttributeError: class TestClass has no attribute 'b'
Дивіться, змінні в класі можуть бути або статичними, або нестатичними. Перші належать усьому класу, другі — екземплярові класу. У цьому прикладі змінна b ініціалізується як нестатична (якщо ми бачимо self.ім'я_змінної в методі класу, це нестатична змінна), а потім її намагаються прочитати як статичну (що не працює: змінна лежить у конкретному екземплярі, в самому ж класі її нема). Хоча такий код можливий:
test_class_instance=TestClass #створюємо екземпляр класу
print test_class_instance.b #Беремо з нього нестатичну змінну
Якщо ж нам потрібна статична змінна, треба було зробити як Kane:
class TestClass():
b = 124