我对 Python 非常陌生,并试图通过构建没有真正目的的非常愚蠢的程序来了解类、方法、范围等的工作原理。
我下面写的代码假设只是定义一个类Functions
这是使用实例化的x
and a y
值,然后可以执行各种简单的数学函数,例如加减法、乘法或除法(是的,我知道有一个 Python 数学库)。
但是,每当我运行代码并到达我想要在类中运行数学函数的部分时,它都会再次运行整个程序,然后执行数学函数。
我在这里做错了什么?
文件名是我的数学.py
class Functions():
def __init__(self, x, y):
self.x = x
self.y = y
def add(self):
return self.x+self.y
def subtract(self):
return self.x-self.y
def multiply(self):
return self.x*self.y
def divide(self):
return self.x/self.y
def check_input(input):
if input == int:
pass
else:
while not input.isdigit():
input = raw_input("\n " + input + " is not a number. Please try again: ")
return input
print("Welcome to the customzied Math program!")
x = raw_input("\nTo begin, please enter your first number: ")
x = check_input(x)
y = raw_input("Enter your second number: ")
y = check_input(y)
from MyMath import Functions
math = Functions(x,y)
print(math.add())
删除以下语句。
from MyMath import Functions
程序的第一行定义名称Functions
,并且无需导入即可使用它。仅当类(或函数、变量……)在不同的文件/模块中定义时,才使用导入命令。
另外注意:当您从模块导入任何内容时,整个模块将作为脚本运行(尽管只有Functions
name 被导入到本地命名空间中)。因此,要导入的文件中的所有内容都应包含在类或函数中(除非有充分的理由不这样做......)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)