def countdown(n):

while n > 0:

return n

n -= 1

n -= 1永远不会到达。实际上,while循环只会迭代一次,你的函数只返回n。

您想改为使用yield。

但是,它仍然不起作用。会发生什么情况是,您将在呼叫countdown前暂停2秒,但不会在每次迭代之间进行。

在该使用情况我甚至不会用一个装饰,只是默认参数:

def countdown(n, wait=None):

while n > 0:

if wait:

time.sleep(wait)

yield n

n -= 1

# no sleep between iterations

for i in countdown(5):

print(i)

# 2 seconds sleep between every iteration

for i in countdown(5, wait=2):

print(i)

编辑如果你坚持使用装饰。请注意,这是次优(并没有多大意义),我不会在生产代码中使用它:

import time

def sleep_dec(function):

def wrapper(*args):

return function(*args, wait=2)

return wrapper

@sleep_dec

# it might make more sense to accept **kwargs instead of wait=None

def countdown(n, wait=None):

while n > 0:

if wait:

time.sleep(wait)

yield n

n -= 1

# 2 seconds sleep between each iteration

for i in countdown(5):

print(i)

python倒计时定时器_使用python修饰器的定时器倒计时相关推荐

  1. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. python使用内置方法和修饰器方法获取类名、函数名

    1. 外部获取 从外部的情况好获取,可以使用指向函数的对象,然后用__name__属性. def a():pass a.__name__ 或者 getattr(a,'__name__') 2. 内部获 ...

  4. python pipeline框架_介绍Python的Django框架中的静态资源管理器django-pipeline

    django-pipeline 是一个 Django 下非常方便的静态资源管理 app,尤其是 1.2 版本之后,利用 django-staticfiles 的collectstatic 命令,在开发 ...

  5. python ray定时_当 Python 邂逅 POV-Ray

    引言 POV-Ray 是一种专业的三维场景描述语言,它描述的三维场景可交由 POV-Ray 的解析器(或编译器)采用光线跟踪技术进行渲染,渲染结果为位图. POV-Ray 语言是图灵完备的,亦即其他编 ...

  6. python机器学习预测_使用Python和机器学习预测未来的股市趋势

    python机器学习预测 Note from Towards Data Science's editors: While we allow independent authors to publish ...

  7. python预定义_【Python】python类中方法的预定义

    知乎问题: 像这个图片里面显示的,self.prediction首先声明了下然后下面给出了定义,然后optimize又调用这个函数但是没有用self.prediction()这样的方式而是像用变量一样 ...

  8. python培训班-Python培训机构_高品质Python线下开发培训班推荐-黑马程序员

    Python编程基础基础班1 课时:15天技术点:97项测验:2次学习方式:线下面授 学习目标 1.掌握Python开发环境基本配置|2.掌握运算符.表达式.流程控制语句.数组等的使用|3.掌握字符串 ...

  9. 使用python预测基金_使用python先知3 1创建预测

    使用python预测基金 This tutorial was created to democratize data science for business users (i.e., minimiz ...

  10. python 创意项目_针对python开发人员的10个很棒的python项目创意

    python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...

最新文章

  1. 一步一步学JVM-垃圾回收器
  2. java自动雨刷系统,安装雨量传感器实现自动大灯/自动雨刷(详细方法)多图!!
  3. Android GooglePay 填坑录
  4. 【题解】luogu p1111 修复公路
  5. P4847 银河英雄传说V2 非旋treap
  6. 服务性服务–服务到服务的通话
  7. React开发(154):注意div得写法
  8. linux中开启snmp协议
  9. 数据库面试题之PL/SQL面试题
  10. NHibernate从入门到精通系列(3)——第一个NHibernate应用程序
  11. 宁夏诗词学会红寺堡采风专辑
  12. python词云图背景_python词云图之WordCloud
  13. ACM解题总结——HihoCoder1237 (微软笔试题)
  14. sqlite3 API详解
  15. 计算机识别不到硬盘,电脑检测不到硬盘怎么办,怎么修复硬盘问题
  16. IP地址和MAC地址简介
  17. word2vec和bert的基本使用方法
  18. cad绘制正八边形_软件CAD | 各种“线”工具
  19. 蚀刻后残留物和光刻胶去除技术
  20. 快捷键----------快人快语

热门文章

  1. 【An electroencephalographic signature predicts antidepressant response in major depression-笔记】
  2. 玩转AR,让电商营销锦上添花
  3. r5 5600u和锐龙r5 4500u的区别
  4. 考研线性代数常见概念、问题总结
  5. 蓝桥杯java历年真题及答案整理(共100道题目及答案)
  6. 说出ArrayList,Vector,nbsp;Linke…
  7. LeeCode祖玛游戏
  8. 阿呆穿越当程序员之设计模式系列-总纲
  9. 面试题总结 —— JAVA高级工程师
  10. LibOpenCM3(一) Linux下命令行开发环境配置