首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python - typing 模块 —— Any Type

Python - typing 模块 —— Any Type

作者头像
小菠萝测试笔记
发布2021-08-23 15:06:10
发布2021-08-23 15:06:10
7450
举报

前言

typing 是在 python 3.5 才有的模块

前置学习

Python 类型提示:https://cloud.tencent.com/developer/article/1864619

常用类型提示

https://cloud.tencent.com/developer/article/1866298

类型别名

https://www.cnblogs.com/poloyy/p/15153883.html

NewType

https://cloud.tencent.com/developer/article/1866296

Callable

https://cloud.tencent.com/developer/article/1866297

TypeVar 泛型

https://cloud.tencent.com/developer/article/1866293

Any Type

  • 一种特殊的类型是 Any
  • 静态类型检查器会将每种类型都视为与 Any 兼容,将 Any 视为与每种类型兼容

小栗子

代码语言:javascript
复制
# Any
from typing import Any

a = None  # type: Any
a1 = []  # OK
a2 = 2  # OK

s = ''  # type: str
s1 = a  # OK


def foo(item: Any) -> int:
    # Typechecks; 'item' 可以是任意类型
    print(item)
    return 1


foo(a)
foo(a1)
foo(a2)
foo(s)
foo(s1)

隐式使用 Any

代码语言:javascript
复制
def legacy_parser(text):
    ...
    return data


# 上述写法等价于下述写法
# 所有没有返回类型或参数类型的函数将隐式默认使用 Any


def legacy_parser(text: Any) -> Any:
    ...
    return data
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 前置学习
  • 常用类型提示
  • 类型别名
  • NewType
  • Callable
  • TypeVar 泛型
  • Any Type
    • 小栗子
    • 隐式使用 Any
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档