這篇文章部分來源:http://m.blog.csdn.net/hao930826/article/details/52232324
這個錯誤是引用不規範造成的
就是from A import B和import A的問題
from A import B的話,用到B時可以直接用
而import A的話,需要A.B
看一下今天我遇到的問題:
我把裝飾器ftimer放到另一個文件ftimer中(我不該把這兩個起相同的名字的)
然後我引用的時候
import ftimer
@ftimer
def linear_search(A,n,x):
ans='NOT_FOUND'
for i in range(n):
if A[i]==x:
ans=i+1
return ans
由於同名,所以@ftimer沒有出現紅色下劃線
同時一直報錯:’module’ object is not callable
後來發現錯誤後,改爲
import ftimer
@ftimer.ftimer
def linear_search(A,n,x):
ans='NOT_FOUND'
for i in range(n):
if A[i]==x:
ans=i+1
return ans
或
from ftimer import ftimer
@ftimer
def linear_search(A,n,x):
ans='NOT_FOUND'
for i in range(n):
if A[i]==x:
ans=i+1
return ans
就可以了
當然,最後我把那個文件名改爲了decorators