【发布时间】:2021-12-25 11:41:05
【问题描述】:
我正在尝试为我的类变量设置可接受的内置类型。 如果给定类型不正确,我想抛出异常。 有没有比使用 isinstance() 的 setter 更好的方法?
我的第一次尝试:
class Address:
city: str
building_number: str or int
apartment_number: int
street: str
def __init__(self, city, building_number, apartment_number, street):
self.city = city
self.building_number = building_number
self.apartment_number = apartment_number
self.street = street
不幸的是,无论类型如何,它都会编译。
我的第二次尝试:
class Address:
def __init__(self, city: str, building_number: str, apartment_number: int, street: str):
self.city = city
self.building_number = building_number
self.apartment_number = apartment_number
self.street = street
这个在创建类时实际上显示了错误的类型,但它编译时没有抛出任何错误或消息。
【问题讨论】: