Class python 2.7中的静态函数错误
我在python中使用静态函数时遇到问题。 我有一个带静态函数的类Class python 2.7中的静态函数错误,class,static,python-2.7,Class,Static,Python 2.7,我在python中使用静态函数时遇到问题。 我有一个带静态函数的类 class CFileSystemOperations(object): .... .... def getRepositoryDirectory(): ...... return sRepositoryDirectory getRepositoryDirectory = staticmethod(getRepositoryDirectory
class CFileSystemOperations(object):
....
....
def getRepositoryDirectory():
......
return sRepositoryDirectory
getRepositoryDirectory = staticmethod(getRepositoryDirectory)
然后我有另一个类,它的函数调用静态类,我尝试了两种解决方案
class CMusicOrganizerView(object):
....
def __init__(self):
....
#first solution
sGuessedRepositoryTextfield = CFileSystemOperations().getRepositoryDirectory()
#second solution
sGuessedRepositoryTextfield = CFileSystemOperations.getRepositoryDirectory()
这里有一个错误:
sGuessedRepositoryTextfield=CFileSystemOperations().getRepositoryDirectory()
TypeError:“模块”对象不可调用
sGuessedRepositoryTextfield=CFileSystemOperations.getRepositoryDirectory()
AttributeError:“模块”对象没有属性“getRepositoryDirectory”
错误:无法导入模块:musicOrganizer(文件:/…../musicOrganizer.py)
有什么想法吗?提前感谢您将模块与其中包含的类混淆了。使用
CFileSystemOperations.CFileSystemOperations().getRepositoryDirectory()
(并为您的模块提供更好的名称;它们不必像Java中那样与包含的类名匹配)。只是一个问题,文件(模块)的名称应该以某种方式表示它们包含的类。所以我想用同样的方法给它们命名。模块应该很快命名吗?(从约定的角度询问)有关命名约定,请参阅。