typing模块的使用

2019-08-27  本文已影响0人  warmsirius

参考博客

一、前言

Python是一门弱类型的语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,typing模块可以很好的解决这个问题。

二、typing模块作用

注意: typing模块只有在python3.5以上的版本中才可以使用,pycharm目前支持typing检查

三、typing的使用方法

from typing import List, Tuple, Dict


def test(a:int, s:str, f:float, b:bool) -> Tuple[int, Tuple, Dict, bool]:
    l = a
    tup = tuple(s)
    di = {'key': f}
    bo = b

    return l, tup, di, bo


print(test(12, 'test', 1.00, 1)) # 输入正确类型的参数

# 结果
(12, ('t', 'e', 's', 't'), {'key': 1.0}, 1)


print(test('sss', 'test', 1, 'h')) # 输入错误的参数类型

# 结果
ValueError: invalid literal for int() with base 10: 'sss'
# 注意:报错并不是因为typing检查到了类型错误,而是里面的int方法不支持对str进行操作

注意:

四、typing常用的类型

from typing import List, Union

def func(a: int, string: str) -> List[int or str]:
   list1 = []
   list1.append(a)
   list1.append(string)
    return list1
def get_next_id() -> Union[int, None]:
   return 1
   return None

使用or关键字表示多种类型,也可以用Union

上一篇 下一篇

猜你喜欢

热点阅读