电脑桌面
添加蜗牛文库到电脑桌面
安装后可以在桌面快捷访问

Day07-写_Python_时你要避免的5个错误.pdfVIP免费

Day07-写_Python_时你要避免的5个错误.pdf_第1页
Day07-写_Python_时你要避免的5个错误.pdf_第2页
Day07-写_Python_时你要避免的5个错误.pdf_第3页
写Python时你要避免的5个错误常见错误1:错误地将表达式作为函数的默认参数在Python中,我们可以为函数的某个参数设置默认值,使该参数成为可选参数。虽然这是一个很好的语言特性,但是当默认值是可变类型时,也会导致一些令人困惑的情况。我们来看看下面这个Python函数定义:>>>deffoo(bar=[]):#bar是可选参数,如果没有提供bar的值,则默认为[],...bar.append("baz")#但是稍后我们会看到这⾏代码会出现问题。...returnbarPython程序员常犯的一个错误,就是想当然地认为:在每次调用函数时,如果没有为可选参数传入值,那么这个可选参数就会被设置为指定的默认值。在上面的代码中,你们可能觉得重复调用foo()函数应该会一直返回'baz',因为你们默认每次foo()函数执行时(没有指定bar变量的值),bar变量都被设置为[](也就是,一个新的空列表)。但是,实际运行结果却是这样的:>>>foo()["baz"]>>>foo()["baz","baz"]>>>foo()["baz","baz","baz"]很奇怪吧?为什么每次调用foo()函数时,都会把"baz"这个默认值添加到已有的列表中,而不是重新创建一个新的空列表呢?答案就是,可选参数默认值的设置在Python中只会被执行一次,也就是定义该函数的时候。因此,只有当foo()函数被定义时,bar参数才会被初始化为默认值(也就是,一个空列表),但是之后每次foo()函数被调用时,都会继续使用bar参数原先初始化生成的那个列表。当然,一个常见的解决办法就是:deffoo(bar=None):...ifbarisNone:#orifnotbar:...bar=[]...bar.append("baz")...returnbar...>>>foo()["baz"]>>>foo()["baz"]>>>foo()["baz"]常见问题2:错误地使用类变量我们来看下面这个例子:>>>classA(object):...x=1...>>>classB(A):...pass...>>>classC(A):...pass...>>>printA.x,B.x,C.x111这个结果很正常。A.x=3>>>printA.x,B.x,C.x323在Python语言中,类变量是以字典的形式进行处理的,并且遵循方法解析顺序(MethodResolutionOrder,MRO)。因此,在上面的代码中,由于类C中并没有x这个属性,解释器将会查找它的基类(baseclass,尽管Python支持多重继承,但是在这个例子中,C的基类只有A)。换句话说,C并不没有独立于A、真正属于自己的x属性。所以,引用C.x实际上就是引用了A.x。如果没有处理好这里的关系,就会导致示例中出现的这个问题。常见错误3:错误理解Python中的变量名解析Python中的变量名解析遵循所谓的LEGB原则,也就是“L:本地作用域;E:上一层结构中def或lambda的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

蜗牛文库的最新文档

二年级数学下册其中检测卷二年级数学下册其中检测卷附答案#期中测试卷.pdf
10.00金币
0下载
二年级数学下册期末质检卷(苏教版)二年级数学下册期末质检卷(苏教版)#期末复习 #期末测试卷 #二年级数学 #二年级数学下册#关注我持续更新小学知识.pdf
10.00金币
0下载
二年级数学下册期末混合运算专项练习二年级数学下册期末混合运算专项练习#二年级#二年级数学下册#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
10.00金币
1下载
二年级数学下册年月日三类周期问题解题方法二年级数学下册年月日三类周期问题解题方法#二年级#二年级数学下册#知识分享 #关注我持续更新小学知识 #家长收藏孩子受益.pdf
10.00金币
0下载
二年级数学下册解决问题专项训练二年级数学下册解决问题专项训练#专项训练#解决问题#二年级#二年级数学下册#知识分享.pdf
10.00金币
1下载
二年级数学下册还原问题二年级数学下册还原问题#二年级#二年级数学#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
10.00金币
1下载
二年级数学下册第六单元考试卷家长打印出来给孩子测试测试争取拿到高分!#小学二年级试卷分享 #二年级第六单考试数学 #第六单考试#二年级数学下册.pdf
10.00金币
0下载
二年级数学下册必背顺口溜口诀汇总二年级数学下册必背顺口溜口诀汇总#二年级#二年级数学下册 #知识分享 #家长收藏孩子受益 #关注我持续更新小学知识.pdf
10.00金币
0下载
二年级数学下册《重点难点思维题》两大问题解决技巧和方法巧算星期几解决周期问题还原问题强化思维训练老师精心整理家长可以打印出来给孩子练习#家长收藏孩子受益 #学霸秘籍 #思维训练 #二年级 #知识点总结.pdf
10.00金币
0下载
二年级数学下册 必背公式大全寒假提前背一背开学更轻松#二年级 #二年级数学 #二年级数学下册 #寒假充电计划 #公式.pdf
10.00金币
0下载
蜗牛文库+ 关注
实名认证
内容提供者

提供各种专业文档内容

确认删除?
QQ
  • QQ点击这里给我发消息
微信客服
  • 微信客服
回到顶部