Python中方法的缺省参数问题分析

原创 2017年07月14日 11:40:45

引言: 在Python中可以缺省给方法制定缺省值,但是这个缺省值在某些情况下确是和我们预期不太一致的…..。 这个诡异的问题,曾经困然了我几天时间,才最终定位出来…..

测试代码

from datetime import datetime
import time

def test(curdate=datetime.now()):
print(“The current Time:%s” % curdate.strftime(“%Y-%m-%d %H:%M:%S”))

for i in range(0,10):
time.sleep(2)
test()

预期代码分析

第一次预计其应该打印出不同的时间戳,因为datetime.now()每次的调用都会生成当前的时间点。 但是实际情况确实和这个不一样的….
直接上结果:
这里写图片描述

从输出的结果信息来看,每一次都是输出了相同的时间戳……..

总结

从结果来看,函数的反复调用中,只会反复使用第一次调用之时生成的那个缺省值,这个是我们在使用方法的缺省值之时需要注意的问题。

python 函数参数(必选参数、默认参数、可选参数、关键字参数)

参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013747384493...
  • u012005313
  • u012005313
  • 2015年09月01日 14:29
  • 29250

【陷阱!】Python可变缺省参数

python中可以使用缺省参数。假设说我们定义一个下面的函数: def f(a,L=[]): L.append(a) print L 函数中使用了一个L的缺省参数,缺省值是一个空的列表。 根...
  • imzoer
  • imzoer
  • 2013年03月18日 13:25
  • 5219

python默认参数

默认参数很有用,但使用不当,也会掉坑里。默认参数有个最大的坑,演示如下: 先定义一个函数,传入一个list,添加一个END再返回: def add_end(L=[]): L.append(...
  • qq_36063677
  • qq_36063677
  • 2018年01月06日 16:10
  • 11

python函数参数默认值

python函数默认参数
  • x_r_su
  • x_r_su
  • 2017年01月25日 18:41
  • 911

python 函数的缺省参数的注意事项

python的函数支持4种形式的参数:分别是必选参数、 缺省参数、 可变长参数、关键字参数;而且参数的书写顺序也是又一定规定的,顺序如下 def fun(param, default_params,...
  • alxandral_brother
  • alxandral_brother
  • 2017年02月23日 00:54
  • 380

Python中的默认参数详解

1
  • shaququ
  • shaququ
  • 2016年11月18日 16:59
  • 1722

Python官方3.2文档教程--方法定义-默认参数值

2.7.1 默认参数值 最有用的形式就是给一个或多个变量制定默认值。这种方法可以创建一个允许调用时比定义时需要更少的参数。例如:   def ask_ok(prompt, retries=4, ...
  • sxb0841901116
  • sxb0841901116
  • 2014年03月31日 01:52
  • 982

Python中默认参数self的理解

类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self...
  • taohuaxinmu123
  • taohuaxinmu123
  • 2014年08月14日 14:43
  • 25237

Python中的默认参数详解

1
  • shaququ
  • shaququ
  • 2016年11月18日 16:59
  • 1722

C++缺省参数的函数

C++缺省参数的函数 定义:C++在声明函数原型时,可为一个或多个参数指定缺省参数值,以后调用此函数,若省略其中某一参数,C++自动地以缺省值作为相应参数的值。 例如函数原型说明为:  ...
  • weikangc
  • weikangc
  • 2015年05月16日 17:09
  • 857
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python中方法的缺省参数问题分析
举报原因:
原因补充:

(最多只允许输入30个字)