我遇到错误:AttributeError:'str'对象没有属性'isfloat'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我遇到错误:AttributeError:'str'对象没有属性'isfloat'相关的知识,希望对你有一定的参考价值。

我正在遵循面向OOP的关于getter和setter的教程,但出现错误:

AttributeError:'str'对象没有属性'isfloat'

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

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

答案

您可以使用

@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不会引起问题。

以上是关于我遇到错误:AttributeError:'str'对象没有属性'isfloat'的主要内容,如果未能解决你的问题,请参考以下文章

解决 AttributeError: 'str' object has no attribute 'read'

Python错误:AttributeError: 'generator' object has no attribute 'next'解决办法

AttributeError: 'Tensor' 对象没有属性'_in_graph_mode'。

AttributeError: 'dict_values' object has no attribute 'translate'

AttributeError:'str'对象没有属性'author'

AttributeError:模块'win32ctypes.pywin32.win32api'没有属性'错误'