
python学习
百里者半九十
这个作者很懒,什么都没留下…
展开
-
Python学习笔记(持续更新)
一. 定义函数时,默认参数的问题1. 默认参数值为不可变对象(例如常量)时:i = 5def f(arg=i): print(arg)i = 6f()得到的结果将会是输出5.2.默认参数为可变对象(例如列表、字典或类)时:def f(a, L=[]): L.append(a)return Lprint(f(1))print(f(2))print(f(3))这种情况下,输出原创 2017-11-03 10:59:10 · 346 阅读 · 0 评论 -
【转载】Python函数参数默认值的陷阱和原理深究
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的陷阱重现我们就用实际的举例来演示我们今天所要讨论的主要内容。 下面一段代码定义了一个名为generate_new_list_with的函数。该函数的本意是在每次调用时都新建一个包含有给定element值的list。而实际运行结果如下:Python 2.7.9 (default, Dec 19 2014转载 2017-11-03 11:06:18 · 386 阅读 · 0 评论