Python中方法的缺省参数问题解读

 更新时间:2022年12月19日 14:43:28   作者:bladestone  
这篇文章主要介绍了Python中方法的缺省参数问题解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Python 中方法的缺省参数问题

在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 缺省参数 不定长参数

python 缺省参数

# 缺省参数
# 1. 在定义函数的时候,给我们形参一个默认的数据,那这个形参就是缺省参数
# 2. 调用的时候,给缺省参传递参数默认值,使用的是传递的值
# 3. 在调用的时候,可以不传递数据值,那么使用的为默认值

def show_info(name="我家小丁永远",age= 18)
     print(name,age)
# 如果不给缺省参数赋值,那么输出的值就为"我家小丁永远 18"


show_info()
# 如果给缺省参数赋值,那么输入的结果为你所赋的值
show_info("我今年马上",20)

不定长参数

# 不定长参数  (*args   *kwargs)
#  *args  ,args可以写成其他变量如:a, b, c.但是建议使用args 
# *args是元祖类型(a, b, c), 最直接的特点就是: 可以使用 for in 遍历
# *args 不定长参数,可以接受位置传参

def show_info(*args)
     for i in args:
         print(i, "人生苦短,我用python", end=" ")
     print()

show_info(2)
# 接上  另外一种写法
def show_info(*args)
    print("人生苦短,我用Python", *args)

show_info("好好学习")
show_info("天天向上")

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python使用itcaht库实现微信自动收发消息功能

    Python使用itcaht库实现微信自动收发消息功能

    这篇文章主要介绍了Python使用itcaht库实现微信自动收发消息功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • TensorFlow查看输入节点和输出节点名称方式

    TensorFlow查看输入节点和输出节点名称方式

    今天小编就为大家分享一篇TensorFlow查看输入节点和输出节点名称方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 关于Python中异常(Exception)的汇总

    关于Python中异常(Exception)的汇总

    异常是指程序中的例外,违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。下面这篇文章主要汇总了关于Python中异常(Exception)的相关资料,需要的朋友可以参考下。
    2017-01-01
  • Python编程求解二叉树中和为某一值的路径代码示例

    Python编程求解二叉树中和为某一值的路径代码示例

    这篇文章主要介绍了Python编程求解二叉树中和为某一值的路径代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python爬取哈尔滨天气信息

    python爬取哈尔滨天气信息

    这篇文章主要为大家详细介绍了python爬虫抓取哈尔滨天气信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • django redis的使用方法详解

    django redis的使用方法详解

    本文主要介绍了django redis的使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 解决PyCharm无法使用lxml库的问题(图解)

    解决PyCharm无法使用lxml库的问题(图解)

    这篇文章主要介绍了解决PyCharm无法使用lxml库的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Python socket处理client连接过程解析

    Python socket处理client连接过程解析

    这篇文章主要介绍了Python socket处理client连接过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 用来将对象持久化的python pickle模块

    用来将对象持久化的python pickle模块

    这篇文章主要为大家介绍了用来将对象持久化的python pickle模块的用例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 详解Python字典的运算

    详解Python字典的运算

    这篇文章主要为大家介绍了Python字典的运算 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12

最新评论