1.  
  2. 主页
  3.  / 
  4. Python基础到高级
  5.  / 
  6. 类型提示

类型提示

类型提示

Python3中的一个新特性

Python是一种动态语言

一个变量的类型, 是在运行时决定的

一个变量的类型在应用的生命周期是可变的

在函数中常规的定义参数类型的方法,多数是用帮助文档的形式来记录的

使用这样的方式,对于我们的维护和操作是很不方便的,因此在Python3中官方就根据这个,出了一个新的特性,叫做类型提示

类型提示,仅用于提示数据类型,不做类型检查

类型提示是给开发工具使用或者在运行时获取信息的,当我们使用pycharm做开发的时候,定义了类型提示,但是我们在传递值的时候,没有根据类型提示的要求来传递参数的时候,开发工具就会报出警告错误,这样可以很好的定位住问题,减少bug的出现

类型提示在3.5及3.5以前的版本的时候,只能用在参数和返回值上

在Python中是有专门记录类型提示的方法的

Python3中 使用typing 模块和类型提示特性做类型检查

利用类型提示实现类型检查

写一个装饰器,使用装饰器来结合Python3的新特性,审核参数的数据类型是否正确

functools 常用的三个方法

functools.wraps() 将被装饰函数的信息重新赋值给装饰器的二级函数,上面的例子已经用到

functools.partial(object, [param,…]) 用于固定函数中一个或者若干个参数

函数作为参数,对这个作为参数的函数的参数列表是有限制的

functools.lru_cache

缓存数据,默认缓存为128条,可以根据自己的情况修改

根据最近最少使用(LRU)的原则来进行缓存的,超过缓存的条目后,会将最先缓存的数据,清除

缓存时间没有限制,除非解释器退出,否则永不超时

lru的使用场景

  • 不需要过期的缓存,functools.lru_cache没有过期的方法
  • 不需要清除的缓存,functools.lru_cache没有清除缓存的方法,除非解释器退出
  • 不需要分布式的缓存,functools.lru_cache是没有办法分布式的,只在当前解释器的内存中
  • 函数必须是无副作用,获取静态的输入的

满足上面的四点就能使用functools.lru_cache

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

邮箱地址不会被公开。 必填项已用*标注