当你的默认参数如果是可变的数据类型,你要小心了

例题

# 正常没毛病的操作
def func(a,b=False):
print(a)
print(b)
func(1,True) # 在实参角度,传的的True对默认关键字参数进行了修改操作
# 结果
1
True # 坑来了
# 就是当你的默认参数如果是可变的数据类型,你要小心了
# 也就是 def func(a,b=[1,2,3,4])这个时候要小心b列表中的内容
def func(a,1i=[]):
li.append(a)
return 1i
print(func(1)) # 输出结果 [1]
print(func(2)) # 输出结果 [1,2]
print(func(3)) # 输出结果 [1,2,3] # 总结
# 就是列表中的内容会一直增加,不会被替换,结果 [1,2,3] l = []中的内容不会随着函数的结束而消失

最新文章

  1. DNA解链统计物理
  2. 在Excel中制作雷达图
  3. sublime返回上一编辑位置
  4. flex的Accordion组件头部文本居中显示
  5. js 判断js函数、变量是否存在
  6. git打tag 三步骤
  7. Python实现PLA(感知机)
  8. nginx设置SSL反向代理
  9. 数据库MySQL常用命令复习
  10. linux crond服务
  11. linux下面安装软件学习流程
  12. 2-Bom
  13. Java Queue 各种方法的区别
  14. .NET跨平台实践:Linux .Net Core自宿主应用程序瘦身记
  15. Memcached-高性能的分布式内存缓存服务器
  16. 在Unity3D中利用 RenderTexture 实现游戏内截图
  17. AI - TensorFlow - 示例03:基本回归
  18. 探索未知种族之osg类生物---渲染遍历之Renderer::draw()简介
  19. 转://Oracle 事务探索与实例(一)
  20. 有时候不用explode截取字符串了,可以用用substr()

热门文章

  1. 网络性能优化GSO/GIO研究
  2. [51nod] 1432 独木桥 贪心
  3. C++ com
  4. Condition应用和源码分析
  5. mac mysql 编码配置
  6. [Android]Android四大组件之Service总结
  7. 基于apache httpclient的常用接口调用方法
  8. 线程池(3)Executors.newCachedThreadPool
  9. 「干货分享」模块化编程和maven配置实践一则
  10. Jquery4