您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中调用嵌套函数时的额外括号

5b51 2022/1/14 8:23:19 python 字数 1853 阅读 601 来源 www.jb51.cc/python

我正在研究第6章中Mark Pilgrim的Dive Into Python Book的模块,我对这行代码返回[fileList中的f]的getFileInfoClass(f)(f)的确如此. getFileInfo是一个嵌套函数,我想知道什么是重复(f),额外的括号是.我希望有人可以帮助我.这是完整的功能: def listDirectory(directory, fileExtList):

概述

def listDirectory(directory,fileExtList):
    "get list of file info objects for files of particular extensions"
    fileList = [os.path.normcase(f) for f in os.listdir(directory)]
    fileList = [os.path.join(directory,f) for f in fileList \
                if os.path.splitext(f)[1] in fileExtList]
    def getFileInfoClass(filename,module=sys.modules[FileInfo.__module__]):
        "get file info class from filename extension"
        subclass = "%sFileInfo" % os.path.splitext(filename)[1].upper()[1:]
        return hasattr(module,subclass) and getattr(module,subclass) or FileInfo
    return [getFileInfoClass(f)(f) for f in fileList]
file_info_class = getFileInfoClass(f)
file_info_instance = file_info_class(f)

一般来说,这样的两对parens可能是一个值得怀疑的决定,因为它不是很易读,但我认为在这种情况下作者认为这是合理的,因为它允许他或她将所有内容都放在单个列表理解中.

总结

以上是编程之家为你收集整理的在Python中调用嵌套函数时的额外括号全部内容,希望文章能够帮你解决在Python中调用嵌套函数时的额外括号所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶