3Create
@3Create

Как правильно составить класс с аргументом self?

Что я делаю не так?
class Person:
    name = "Кристи"
    age = 10

    def set(self, name, age):
        self.name = name
        self.age = age


lena = Person()
lena.set = ("Лена", 25)
print(lena.name + " " + str(lena.age))

ivan = Person()
ivan.set = ("Иван", 33)
print(ivan.name + " " + str(ivan.age))

Принт выдает только это:
Кристи 10
Кристи 10
  • Вопрос задан
  • 59 просмотров
Решения вопроса 2
SoreMix
@SoreMix Куратор тега Python
yellow
Ваш set - функция. Соответственно
ivan.set("Иван", 33)

Так же аргументы можно передать непосредственно при создании экземпляра класса
class Person:
    name = "Кристи"
    age = 10

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def set(self, name, age):
        self.name = name
        self.age = age

ivan = Person('Иван', 33)
Ответ написан
Комментировать
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
class Person:
    name = "Кристи"
    age = 10

    def set(self, name, age):
        self.name = name
        self.age = age

lena = Person()
lena.set("Лена", 25)
print(f'{lena.name} {lena.age}')

ivan = Person()
ivan.set("Иван", 33)
print(f'{ivan.name} {ivan.age}')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@galaxy
lena.set("Лена", 25)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы