前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小说python的类型提示(type hints)

小说python的类型提示(type hints)

作者头像
用户2196567
发布2018-07-24 15:42:35
6880
发布2018-07-24 15:42:35
举报
文章被收录于专栏:chafezhouchafezhou

大家都知道python是一门动态类型的语言,但作者Guido van Rossum在2014年创建PEP-484添加了类型提示,在python3.5的版本中正式发布这一特性。 为什么需要类型提示呢?它能给开发者带来哪些便利呢?本文就小说一把type hints

我们需要它么?

显然,type hints不是必须的,要不也不会再3.5中才加入,但反过来想想,既然能作为标准库发布,肯定是有必要的。

1. 代码更易读

代码语言:javascript
复制
def example_without_typehints(heads, request_data,
                    user_id=None,
                    as_json=False):
    """
    正常函数实例
    :param heads: 协议头
    :param request_data: 请求数据
    :param user_id: 用户id
    :param as_json: 是否作为json数据发送
    :return:
    """

这是一个典型的函数,刚开始写时,知道heads是一个字符串,request_data定义的是一个dict,user_id是一个int,as_json是一个bool值,它会返回dict数据。

但当你过上一个月,二个月再来看时,你还确定这个函数如何调用么?需要看下函数体了吧。

代码语言:javascript
复制
def example_with_typehints(heads: str,
                  request_data: Optional[Dict[str, str]],
                  user_id: Optional[int] = None,
                  as_json: bool = True) -> Dict:
    """
    typehints实例
    :param heads: 协议头
    :param request_data: 请求数据
    :param user_id: 用户id
    :param as_json: 是否作为json数据发送
    :return: {
        'code': 200,
        'msg': ''
    }
    """

看看这个,有了类型提示,参数类型和返回值一目了然。

请记住,代码是给人看的,看代码的频率比写代码的频率高得多,易读很重要

2. 调用时类型匹配提示

当在函数调用时,如果传入的参数与类型不匹配,IDE会给出警告提示

3. 库函数提示

如果指定了对应的类型,IDE会给出此类型的库函数,高效输入

上述可见,加入类型提示对于代码的易读性是很有必要的,如果使用IDE,编码效率会进一步提升,错误率也会降低。

但是

type hints 只是类型提示,不会做类型检查

不要期望运行时报错噢

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 chafezhou 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档