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

yipeiwu_com5年前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 REST框架创建一个简单的Api实例讲解

Django REST框架创建一个简单的Api实例讲解

Create a Simple API Using Django REST Framework in Python WHAT IS AN API API stands for appli...

对pandas replace函数的使用方法小结

对pandas replace函数的使用方法小结

语法:replace(self, to_replace=None, value=None, inplace=False, limit=None, regex=False, method=...

python dict 字典 以及 赋值 引用的一些实例(详解)

最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东 用的最多的还是 list 和 tuple (网上查 用法一大堆) 看...

Python中使用pypdf2合并、分割、加密pdf文件的代码详解

朋友需要对一个pdf文件进行分割,在网上查了查发现这个pypdf2可以完成这些操作,所以就研究了下这个库,并做一些记录。首先pypdf2是python3版本的,在之前的2版本有一个对应p...

ActiveMQ:使用Python访问ActiveMQ的方法

ActiveMQ:使用Python访问ActiveMQ的方法

Windows 10家庭中文版,Python 3.6.4,stomp.py 4.1.21 ActiveMQ支持Python访问,提供了基于STOMP协议(端口为61613)的库。 Act...