如何在python中的另一个类中访问静态方法?

时间:2018-07-30 11:43:05

标签: python python-3.x

我创建了一个名为:Sample的类,在其中声明了一个名为calculate()的静态方法,该方法采用一个数字并将其返回为平方根。该程序保存在“ static_method_2.py”

import math
class Sample:
    data = 10
    @staticmethod
    def calculate(x):
        return(math.sqrt(x))

我想在另一个python程序中访问此计算方法。(两个python程序都在同一文件夹中)

import static_method_2
num = int(input('Enter Number for square root \n'))
# print(method.data)
print("Square root of {} is {}".format(num, static_method_2.calculate(num)))

当我运行第二个程序时,它显示错误:

  

AttributeError:模块'static_method_2'没有属性'calculate'

任何人都可以建议如何解决这个问题,或者我在哪里做错了。

2 个答案:

答案 0 :(得分:2)

在模块名称后指定类名称将起作用:

print("Square root of {} is {}".format(num, static_method_2.Sample.calculate(num)))

答案 1 :(得分:0)

您需要从另一个文件导入Sample,然后调用Sample。计算