0
点赞
收藏
分享

微信扫一扫

python中类型注解的使用

程序小小黑 2022-04-24 阅读 86
python

python中类型注解可以显著提升程序的可读性,关于变量,函数参数及返回值的相关使用方法很多地方有介绍,就不再重复了。只有一点,在类中,需要引用当前定义的类时,这时比较麻烦些,如下面的代码:

class Deck:
    @classmethod
    def create(cls, shuffle: bool = False) -> Deck:
         """Create a new deck of 52 cards"""
         cards = [Card(s, r) for r in Card.RANKS for s in Card.SUITS]
         if shuffle:
             random.shuffle(cards)
         return cls(cards)

这个代码针对第3行函数返回类型Deck由于Deck类还没有完全定义,因此是会报错的,且不能运行。

据说此功能需要在Python4.0中才能通过,不过在Python3.7及更高版本中,可以通过导入__future__属性的annotations来实现:

from __future__ import annotations

class Deck:
    @classmethod
    def create(cls, shuffle: bool = False) -> Deck:
        ...

这个问题前段时间搞了好久,一直没解决,回头查了半天,终于找到了相关的讨论:

Python Type Hint类型注解 - 公众号python学习开发 - 博客园

举报

相关推荐

0 条评论