美文网首页Python代码阅读
Python代码阅读(第61篇):延迟调用函数

Python代码阅读(第61篇):延迟调用函数

作者: FelixZzzz | 来源:发表于2021-10-21 16:38 被阅读0次

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了在给定的延迟时间后,调用指定函数的功能。

本篇阅读的代码片段来自于30-seconds-of-python

delay

from time import sleep

def delay(fn, ms, *args):
  sleep(ms / 1000)
  return fn(*args)

# EXAMPLES
delay(
  lambda x: print(x),
  1000,
  'later'
) # prints 'later' after one second

delay函数接收一个指定函数fn,一个延迟时间ms和指定函数的参数*args,在指定延迟后,返回指定函数fn的调用结果。

函数使用sleep()方法来进行延迟,然后调用指定函数。delay函数在调用的时候,可以使用lambda表达式的匿名函数,也可以使用一般函数。需要注意的是当fn存在关键字参数时会发生异常。

>>> from time import sleep
>>>
>>> def delay(fn, ms, *args):
...   sleep(ms / 1000)
...   return fn(*args)
...
>>> def f(pos_only, /, standard, *, kwd_only):
...     print('pos_only:{}\nstandard:{}\nkwd_only:{}'.format(pos_only,standard,kwd_only))
...
>>> delay(f, 1000, 1, 2, 3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in delay
TypeError: f() takes 2 positional arguments but 3 were given
>>> delay(f, 1000, 1, 2, kwd_only = 3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: delay() got an unexpected keyword argument 'kwd_only'

相关文章

  • Python代码阅读(第61篇):延迟调用函数

    Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码[https://mp.weixin....

  • Python第五堂笔记--函数

    1️⃣、Python之什么是函数 函数就是最基本的一种代码抽象的方式。 2️⃣、Python之调用函数 要调用一个...

  • Python函数详解

    函数是Python里组织代码的最小单元,Python函数包含以下几个部分: 定义函数 调用函数 参数 函数的返回值...

  • python学习笔记 - (2)函数

    定义函数格式:def 函数名(参数):代码1代码2... 调用函数格式:函数名(参数) /// python中,函...

  • Go函数-延迟调用(三)

    在go语言里,defer可是实现延迟函数调用。语句defer向当前函数注册稍后执行的函数调用。这些调用被称做延迟调...

  • Python3函数

    一、基本 1、函数定义:def 函数名(参数):代码1......2、函数调用:函数名(参数)注:在Python中...

  • 装饰器随笔

    高阶函数:在python中我们可以把函数视作变量去调用。而这种调用别的函数的函数就称为高阶函数。 装饰器:在代码运...

  • Python - 2017/01/28-函数

    调用python内置函数 函数名(参数) 即可调用python内置函数 help(函数名) 返回python对于函...

  • 延迟调用函数

  • iOS延迟执行函数需要注意的地方

    当需要延迟执行的函数还没有被调用的时候,再次执行 需要调用 来取消上次的延迟执行函数

网友评论

    本文标题:Python代码阅读(第61篇):延迟调用函数

    本文链接:https://www.haomeiwen.com/subject/zszgoltx.html