def define_mark(mark):
opening_mark = mark
closing_mark = mark.replace("<", "</")
def embed(text):
return opening_mark + text + closing_mark
return embed
bold = define_mark("<b>")
italic = define_mark("<i>")
print(bold(italic("The Heading")))#这里为什么不用italic.embed("The Heading"),直接italic("The Heading")就可以了呢
bold和italic都是内部函数embed的引用,不能通过italic.embed调用,会出错。
调用define_mark时opening_mark ,closing_mark 私有变量,返回的embed函数各自引用opening_mark ,closing_mark对应的内容,然后调用bold,italic(实际调用的embed),然后返回对应的html代码
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!