Python typing —— 类型提示(type hint)

1. 基础类型

  • 指定参数类型和返回值类型:

    def greeting(name: str) -> str:
    	return 'hello ' + name
    
  • 序列

    def scale(scalar: float, vector: list) -> list:
        return [scalar * num for num in vector]
    >> scale(3, [1, 2, 3])
    [3, 6, 9]
    

    但 list 本身是一个容器,对其内的元素是没有类型限制的,如果我们想指定元素类型为 float 的 list;

2. List、Tuple 与 Dict

  • 元素类型为 float 的 list;

    from typing import List, Tuple, Dict
    
    def scale(scalar: float, vector: List[float]) -> List[float]:
        return [scalar * num for num in vector]
    
  • 使用别名以简化复杂函数签名:

    from typing import Dict, Tuple, List
    
    ConnectionOptions = Dict[str, str]
    	# str 类型的 key,str 类型的 value
    Address = Tuple[str, int]
    	# 二元 tuple
    Server = Tuple[Address, ConnectionOptions]
    
    def broadcast_message(message: str, servers: List[Server]) -> None:
        ...
    
    # The static type checker will treat the previous type signature as
    # being exactly equivalent to this one.
    def broadcast_message(
            message: str,
            servers: List[Tuple[Tuple[str, int], Dict[str, str]]]) -> None:
        ...
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值