鱼C论坛

 找回密码
 立即注册
查看: 2118|回复: 5

[技术交流] 《Python代码分析》2

[复制链接]
发表于 2017-6-9 20:12:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 新手·ing 于 2017-6-9 20:13 编辑


今天通过一些小代码讲一些有用的东西~






  1. >>> def concat(*args, sep="/"):
  2. ...    return sep.join(args)
  3. ...
  4. >>> concat("earth", "mars", "venus")
  5. 'earth/mars/venus'
  6. >>> concat("earth", "mars", "venus", sep=".")
  7. 'earth.mars.venus'
复制代码


恩,上面的自己理解,还是挺有用的~




重要警告: 默认值只被赋值一次。这使得当默认值是可变对象时会有所不同,比如列表、字典或者大多数类的实例。例如,下面的函数在后续调用过程中会累积(前面)传给它的参数 :
  1. def f(a, L=[]):
  2.     L.append(a)
  3.     return L

  4. print(f(1))
  5. print(f(2))
  6. print(f(3))
复制代码


这将输出:

  1. [1]
  2. [1, 2]
  3. [1, 2, 3]
复制代码


如果你不想让默认值在后续调用中累积,你可以像下面一样定义函数:

  1. def f(a, L=None):
  2.     if L is None:
  3.         L = []
  4.     L.append(a)
  5.     return L
复制代码


这样就不会累积了~




如果大家觉得我做的不错,就请大家给我的淘专辑打个五分~

评分

参与人数 2鱼币 +7 收起 理由
康小泡 + 2
小甲鱼 + 5 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-9 20:14:52 | 显示全部楼层
lz有没有想过捕捉异常?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-9 20:20:16 | 显示全部楼层
china25qd 发表于 2017-6-9 20:14
lz有没有想过捕捉异常?

以后再说再说我是新手
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-9 20:25:05 | 显示全部楼层
新手·ing 发表于 2017-6-9 20:20
以后再说再说我是新手

我也是萌新啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-9 21:28:09 | 显示全部楼层

嘿嘿,谢谢支持~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-6 09:21:37 | 显示全部楼层
回个贴支持一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 08:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表