【发布时间】:2019-05-24 18:01:20
【问题描述】:
我是 Python 新手,几乎一无所知。我正在尝试将函数链接到构造函数,但无法做到。如何调用main函数中的前2个函数和构造函数中的main函数?
我可以在创建对象后通过在外部调用inpVal()和check()来执行没有_init_()和exec()的代码,但是当我这样做时它没有显示任何输出。
class Acute:
def _init_(self):
self.exec()
def inpVal(self):
print("Enter 3 positive integers(angles):")
self.ang1 = int(input())
self.ang2 = int(input())
self.ang3 = int(input())
def check(self):
if self.ang1 <=0 or self.ang2 <=0 or self.ang3 <=0:
print("Invalid Input")
elif self.ang1+self.ang2+self.ang3 != 180:
print("Not a Triangle")
elif self.ang1 >=90 or self.ang2 >=90 or self.ang3 >=90:
print("Not an Acute Triangle")
else:
print("Acute Triangle")
def exec(self):
self.inpVal()
self.check()
t1 = Acute()
我希望在类声明之后只有一个对象创建语句,并且默认情况下会调用构造函数,并从中调用 exec 函数,该函数将调用输入和检查函数。
【问题讨论】:
-
可能的错字:应该是
__init__(self)(前后双下划线)。 -
没有。它是python类中的一个特殊函数。
-
所以...嗯...为什么
def __init__不适合您? “对象创建语句将在那里”和“默认情况下将被调用”,这就是您所要求的,不是吗?如果我错了,请纠正我,因为我在理解最后一段时有点困难。 -
我不明白您的第一条评论...我确实使用了双下划线。但我必须重新检查。不过谢谢。
-
谢谢...问题其实是我没有给双下划线。
标签: python python-3.x