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

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

一、引言

对于算法工程师来说,语言从来都不是关键,关键是快速学习以及解决问题的能力。大学的时候参加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

# 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的用法,希望对大家有帮助。

目录
相关文章
|
13天前
|
索引 Python 容器
为什么Python中会有集合set类型?
为什么Python中会有集合set类型?
|
13天前
|
Python
Python变量的作用域_参数类型_传递过程内存分析
理解Python中的变量作用域、参数类型和参数传递过程,对于编写高效和健壮的代码至关重要。正确的应用这些概念,有助于避免程序中的错误和内存泄漏。通过实践和经验积累,可以更好地理解Python的内存模型,并编写出更优质的代码。
10 2
|
26天前
|
存储 索引 Python
Python中的str类型
Python中的str类型
|
26天前
|
存储 程序员 C++
Python中的“Short”类型模拟与理解
Python中的“Short”类型模拟与理解
|
13天前
|
Python
|
18天前
|
Python
Python 中的不同类型继承
【8月更文挑战第24天】
36 0
|
19天前
|
程序员 Python
Python 中不同类型的控制流语句
【8月更文挑战第23天】
8 0
|
22天前
|
Python
在Python中的Boolean类型
在Python中的Boolean类型
|
1天前
|
存储 数据采集 人工智能
探索Python编程之美——从基础到进阶
【9月更文挑战第9天】本文是一篇深入浅出的技术分享文章,旨在引导读者从零基础开始掌握Python编程。我们将通过生动的实例和代码示例,探讨Python的基本语法、数据结构、函数、模块以及面向对象编程等核心概念。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python编程之旅吧!
16 11
|
2天前
|
Python
探索Python编程的奥秘:打造你的第一个程序
【9月更文挑战第8天】本文将带你进入Python编程的世界,通过一个有趣的项目——制作一个简单的猜数字游戏,让你快速入门。我们不仅会分享代码编写的步骤,还会讲解每一行代码的含义和作用,确保即使是编程新手也能跟上节奏。文章末尾附有完整代码,方便读者实践和学习。
18 12
下一篇
DDNS