我正在关注面向OOP的关于吸气剂和设置器的教程,但我遇到了错误:
AttributeError:'str'对象没有属性'isfloat'
@height.setter
def height(self, value):
if value.isfloat():
self.__height = value
else:
print("Please enter a number")
有人知道为什么会这样吗? 预先谢谢你
答案 0 :(得分:2)
您可以使用
@height.setter
def height(self, value):
if isinstance(value, float): # Idea by Siva Shanmugam
self.__height = value
else:
print('Please enter a number')
测试值是否为浮点数,还是简单地
@height.setter
def height(self, value):
self.__height = float(value)
如果值无法将TypeError
转换为value
,则获得float
。使用此功能,int
输入和带有浮点字符的str
不会引起问题。