前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个被忽略的细节,是编写优秀 Python 代码的必经之路

这个被忽略的细节,是编写优秀 Python 代码的必经之路

作者头像
数据STUDIO
发布2024-04-26 09:53:22
1250
发布2024-04-26 09:53:22
举报
文章被收录于专栏:数据STUDIO数据STUDIO
某个操作在Python编写代码中是可选的,意味着它不是必须的。但要想写出好的Python代码,你就必须这样做。这就是 Python 中的类型提示。

Python 中数据类型的问题

Python是一种动态类型编程语言,变量的类型是在运行时分配的,无需在赋值之前定义特定类型。

代码语言:javascript
复制
a = 5

变量 a 被赋值为 5,在此之前,无需声明 a 存储整数,直接将 5 赋值给 a

代码语言:javascript
复制
def add(a, b):
  return a+b

print(add(4, 5))           # 9
print(add(4.0, 5.0))       # 9.0
print(add('hi', 'world'))  # hiworld
print(add([1,2], [3,4]))   # [1, 2, 3, 4]

add 接收两个变量 ab 并返回 a+b。但 ab 应该是什么数据类型呢?

  • 如果我们输入整数,就会得到一个整数
  • 如果传入浮点数,我们得到一个浮点数
  • 如果传入字符串,我们得到一个字符串
  • 如果我们传入列表,我们得到一个列表

Python并不在乎你传入ab的参数。如果出现错误,你需要自己解决。尽管如此,类型提示可能会有所帮助。

类型提示介绍

在 Python 中,类型提示是可选的。如果不使用它们,Python 也能正常运行。然而,对于其他开发者来说,类型提示能让我们的代码更易读。

代码语言:javascript
复制
def add(a: int, b: int) -> int:
  return a + b

ab 后面加上 : int,在函数结尾 ) 后面加上 -> int 是类型提示,指示函数的参数和返回类型。

  • a 应该是整数
  • b 也应该是一个整数
  • 函数的返回值也应该是整数

类型提示并非强制数据类型,而是为了提示而存在的,这一点需要注意。

代码语言:javascript
复制
def add(a: int, b: int) -> int:
  return a + b

print(add(4, 5))           # 9
print(add(4.0, 5.0))       # 9.0
print(add('hi', 'world'))  # hiworld

我们可以在 ab 中传递浮点数或字符串,Python 不限制,允许代码运行。类型提示的主要目的是指导其他开发者阅读我们的代码时,明确数据类型应当为何。

类型提示的一些优势

  • 开发人员能够迅速确定函数或方法应使用的数据类型
  • 其他开发人员能够快速了解函数或方法应返回的数据类型
  • 减少了变量数据类型的猜测和确认的时间
  • 提高了代码的整体可读性

尽管类型提示是可选的,但它是编写优秀可读代码的必备条件。

虽然仅仅使用类型提示并不能让代码变得优秀

基础类型提示

代码语言:javascript
复制
a: int = 5
# a should be an integer

变量类型提示

代码语言:javascript
复制
def avg(a:int, b:int) -> float:
  return (a+b)/2

函数类型提示

  • ab应为整数
  • 函数应返回浮点数值

复杂类型的类型提示

但如果我们有一个整数列表呢?不用担心,内置的 typing 模块提供了一些有用的类型提示功能。

代码语言:javascript
复制
from typing import List

def average(numbers: List[int]) -> float:
  return sum(numbers)/len(numbers)

numbers 应是一个整数列表。

代码语言:javascript
复制
from typing import Dict

def count(d: Dict[str, int]) -> int:
  # stuff

d 应该是一个字典,其中键是字符串,值是整数。

代码语言:javascript
复制
class Dog:
  pass

from typing import List

def magic(dogs: List[Dog]) -> int:
  # stuff

dogs 应该是一个包含自定义 dog 对象的列表。

写在最后

掌握类型提示并不困难,但它可以提高代码的可读性。在编写优秀的Python代码时,使用类型提示是至关重要的,特别是在开发大型企业应用程序并需要与其他开发人员合作时。

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

本文分享自 数据STUDIO 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python 中数据类型的问题
  • 类型提示介绍
  • 类型提示的一些优势
  • 基础类型提示
  • 复杂类型的类型提示
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com