为什么这段 Python 代码执行了两次?

2023-12-26

我对 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,并且无需导入即可使用它。仅当类(或函数、变量……)在不同的文件/模块中定义时,才使用导入命令。

另外注意:当您从模块导入任何内容时,整个模块将作为脚本运行(尽管只有Functionsname 被导入到本地命名空间中)。因此,要导入的文件中的所有内容都应包含在类或函数中(除非有充分的理由不这样做......)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这段 Python 代码执行了两次? 的相关文章

随机推荐