python中函数默认值使用注意点详解

yipeiwu_com6年前Python基础

当在函数中定义默认值时,值初始化只会进行一次,就是执行到def methodname时执行。看下面代码:

from datetime import datetime
 
def test(t=datetime.today()):
  print t
 
if __name__ == "__main__":
  test()
  test() 

两次方法调用输出的时间都为同一个值,而不是我们预想当前执行时间。对于上面这种情况,建议用下面的方式实现:

from datetime import datetime 
 
def test2(t = None):
  if t is None:
    t = datetime.today()
  print t 
 
 
if __name__ == "__main__":
  test()
  test() 

以上这篇python中函数默认值使用注意点详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django序列化serializers过程解析

这篇文章主要介绍了django序列化serializers过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 DRF的核心 就是...

详解python列表生成式和列表生成式器区别

本文实例为大家分享了python(列表生成式/器)的具体代码,供大家参考,具体内容如下 一、列表生成式 #列表生成式是快速生成一个列表的一些公式 numbers = [] for...

Python编写合并字典并实现敏感目录的小脚本

0x00 起因 接触网安快一年了,爱收集一些字典啊敏感目录文件啊什么的。收集多了难免有重复,并且有的也需要合并使用方便。自己就写了一个小小的脚步用来完成这个目的。 0x01 代码 第...

Python实现两个list求交集,并集,差集的方法示例

本文实例讲述了Python实现两个list求交集,并集,差集的方法。分享给大家供大家参考,具体如下: 在python中,数组可以用list来表示。如果有两个数组,分别要求交集,并集与差集...

Python3中列表list合并的四种方法

下面是[列表]合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试,有任何问题欢迎给我留言。 方法1: 直接使用"+"号合并列表...