tixonochek
@tixonochek
Мамкин Программист

Python — Почему мой код не работает?

(Не критикуйте меня, я лишь новичек)

Смотрите, вот есть 2 кода, первый с интернета:
class Person:
    name = 'Adam'
    
p = Person()
print('Before modification:', p.name)

# setting name to 'John'
setattr(p, 'name', 'John')

print('After modification:', p.name)

А вот мой код:
class Simple:
    Color = 'red'
    
classObj = Simple()
print('Before modification:',Simple.Color)

setattr(classObj, 'Color', 'blue')

print('After modification:', Simple.Color)

Они одинаковые, я просто в своем убрал комментарий и заменил все названия на мне нужные. Код из интернета (первый) работает, а мой (такой же ток не такие названия) не работает..

В чем причина?!
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
Tomio
@Tomio
backend developer (python, php)
В методах print вам нужно обращаться не к объекту Simple напрямую, а к созданному экземпляру класса classObj. Собственно, поэтому пример из интернета и работает, а у вас нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
kshnkvn
@kshnkvn Куратор тега Python
yay ✌️ t.me/kshnkvn
6017d455a3c8f449513239.png

В чем причина?!

В том, что ты не знаешь что такое классы и как они работаю, а это не много не мало, но основы. Прочитай хотя бы A Byte of Python с первой по последнюю страницу, там их не так уж и много.
Ответ написан
@bacon
Они одинаковые
нет, атрибут объекта (экземпляра класса) vs атрибут класса
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы