我收到一个错误:AttributeError:'str'对象没有属性'isfloat'

2024-06-13 22:44:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在遵循一个关于getter和setter的面向对象图腾,但我得到了一个错误:

AttributeError: 'str' object has no attribute 'isfloat'

@height.setter
def height(self, value):
    if value.isfloat():
        self.__height = value
    else:
        print("Please enter a number")

有人知道为什么会这样吗? 先谢谢你


Tags: noselfobjectvalue错误attribute面向对象setter
1条回答
网友
1楼 · 发布于 2024-06-13 22:44:40

你可以用

@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)

获取TypeErrorif值无法将value转换为float。使用此选项,int输入和带有浮点字符的str不会导致问题

相关问题 更多 >