尝试运行函数'iswalking()'时出现此错误
我正在努力学习面向对象的概念,这是迄今为止我所创造的。。。你知道吗
class Human:
def __init__(self,name,age,gender):
self.name = name
self.age=age
self.gender= gender
def iswalking(self,TOF):
self.TOF = TOF
if TOF:
print("walking")
else:
print("sitting")
def introduce_self(self):
print("my name is ",self.name)
print("my age is ",self.age)
print("my gender is ",self.gender)
h1=Human("Armaan",16,"male")
h1.iswalking=False
h1.introduce_self()
h1.iswalking()
我期望输出:
my name is Armaan
my age is 16
my gender is male
sitting
我得到的是:
my name is Armaan
my age is 16
my gender is male
Traceback (most recent call last):
File "main.py", line 19, in <module>
h1.iswalking()
TypeError: 'bool' object is not callable
...Program finished with exit code 1
Press ENTER to exit console.
您已将一个函数重新分配给布尔值,然后尝试调用该布尔值,认为它仍然是一个函数。你知道吗
相反,你想要的是:
这样可以避免重新分配函数。你知道吗
在第一行中,您将属性
iswalking
更改为False
,这是一个布尔值。你知道吗在第二行中,您试图调用
iswalking
—您已将其设置为False
=因此您试图调用False
—即False()
—这将引发您看到的错误。你知道吗我相信你想这么做:
应打印:
相关问题 更多 >
编程相关推荐