【python】python指南(十一):静态类型注解之Optional

2024-08-13 16:26:27 浏览数 (1)

一、引言

对于算法工程师来说,语言从来都不是关键,关键是快速学习以及解决问题的能力。大学的时候参加ACM/ICPC一直使用的是C语言,实习的时候做一个算法策略后台用的是php,毕业后做策略算法开发,因为要用spark,所以写了scala,后来用基于storm开发实时策略,用的java。至于python,从日常用hive做数据策略用python写udf,到基于tensorflow深度学习框架写python版的模型网络,再到现在实用pytorch做大模型。眼看着在语言纷争中,python的应用越来越广,开一个单独的专栏用于记录python中常用到的技巧,算是做笔记,没事翻出来看看。

在Python 3.5版本后引入的typing模块为Python的静态类型注解提供了支持,这个模块在增强代码可读性和维护性方面提供了帮助,今天简要概述一下Optional。

二、参数类型注解之Optional

2.1 可选类型

Optional表示参数可以是指定类型或者None

代码语言:javascript复制
# Optional[str]表示字符串类型或None
from typing import Optional


# 定义一个名为user的函数,接收一个Optional[str]类型的参数name,表示该参数可以是字符串类型或None
# 函数返回一个str类型的结果
def user(userdata: Optional[str]) -> int:
    print(userdata, type(userdata))


user('daoguang') # daoguang <class 'str'>


# 定义一个名为user的函数,接收一个Optional[int]类型的参数name,表示该参数可以是字符串类型或None
# 函数返回一个int类型的结果
def user(userdata: Optional[int]) -> int:
    print(userdata, type(userdata))


user(23443)  # 23443 <class 'int'>

三、总结

本文使用简单的例子讲解函数注解Optional的用法,希望对大家有帮助。

0 人点赞