Допустим, у меня есть этот класс:
class Person:
def __init__(self, name):
self.name = name
Если я хочу создать экземпляр Person
Я могу сделать:
me = Person("António")
Но что, если я хочу создать экземпляр * 1008?* если name
имеет тип str
?
Я пробовал это:
class Person:
def __init__(self, name):
if type(name) == str:
self.name = name
Но тогда, когда я делаю:
me = Person("António")
print(me.name)
you = Person(1)
print(you.name)
Я получаю это:
Таким образом, все, что происходит:
- Если
name
равно str
, экземпляр имеет метод .name
- Если
name
не str
, у экземпляра нет .name
метода
Но что я на самом деле хочу, так это остановить все экземпляры вместе, если имя не является str
.
Другими словами, я хочу, чтобы было невозможно создать объект из класса Person
с не str
name
.
Как я могу это сделать?