栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用self.xxxx作为默认参数-Python

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用self.xxxx作为默认参数-Python

拉尔斯曼人回答了您的第一个问题

它不起作用,因为默认参数是在函数定义时而不是在调用时求值的:

def f(lst = []):    lst.append(1)    return lstprint(f()) # prints [1]print(f()) # prints [1, 1]

常见的策略是使用None默认参数。如果None是有效值,请使用单例哨兵:

NOTHING = object()def f(arg = NOTHING):    if arg is NOTHING:        # no argument    # etc.

对于第二个问题,您能否在跳转之前简单地看一下以避免递归?

def makeList(self, aNode=None):    if aNode is None:        aNode = self.root    treeaslist = [aNode.data]    if aNode.lChild:        treeaslist.extend(self.makeList(aNode.lChild))    if aNode.rChild:        treeaslist.extend(self.makeList(aNode.rChild))    return treeaslist


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号