调用静态方法

时间:2016-11-29 08:47:50

标签: python python-2.7

我正在尝试从不同的模块调用类的静态方法并获取:

AttributeError: ClassObject instance has no attribute 'foo1'

事情是这样的结构:
a.py文件内容:

class Conf():
    def __init__(self,......):
       .
       .
       .
    @staticmethod
    def foo1():
       .
       .
       .

b.py文件内容:

from a import Conf
Conf.foo1()

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您正在以良好的方式调用您的方法,所以也许您没有导入好的模块?

a中检查哪个文件已加载为b.py

import a
print a.__file__

这将打印您加载的文件。

答案 1 :(得分:-1)

你可以在b.py

中这样做
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="school" name="school_1" class="form-control">
  <option value="1001">school-A</option>
  <option value="1002">school-B</option>
  <option value="1003">school-C</option>
  <option value="1004">school-D</option>
</select>

<select class="dept" name="dept_1" class="form-control"></select>

<select class="school" name="school_2" class="form-control">
  <option value="1001">school-A</option>
  <option value="1002">school-B</option>
  <option value="1003">school-C</option>
  <option value="1004">school-D</option>
</select>

<select class="dept" name="dept_2" class="form-control"></select>

或者你可以将类分配给变量,你可以使用该变量而不是每次调用类。

import a
f=a.Conf()
f.foo1()

或者你可以这样做

from a import Conf
f=Conf()
f.foo1()