什么是返回函数?Python嵌套函数代码功能及报错咨询
代码功能解析与问题排查
这段代码的核心功能
这是Python里闭包的典型用法,本质是个日志函数工厂:
make_logger(target)是个“函数生成器”,你给它传一个文件名(比如foo.txt),它会返回一个专门给这个文件写日志的函数- 内部的
logger(data)函数负责实际写入:每次调用它时,会把传入的字符串data追加到目标文件里(如果文件不存在会自动创建) - 你看不到控制台输出是正常的——它的操作都在文件里,不会在终端打印内容。执行完代码后去看同目录下的
foo.txt,里面应该会有两行内容:Hello和World
为什么会出现问题
Jupyter Notebook“无反应”
这不是bug,因为代码本身就不会输出内容,所有操作都是写入文件,你去检查生成的foo.txt就能看到结果。
Python运行报语法错误
大概率是缩进问题:Python对缩进要求极严,logger函数内部的with代码块必须和def logger(data):保持正确的缩进层级,而且不能混用空格和制表符。另外检查下代码里的冒号、括号、引号有没有漏写或者配对错误。
内容的提问来源于stack exchange,提问作者Tima
相关产品推荐
相关产品推荐

