python中,@和-> 代表什么?

本文分享了一次将Python代码部署到Hadoop平台时遇到的类型注解错误经历。作者在本地测试正常,但在Hadoop上调试时报错。通过深入研究,发现错误源于Python函数定义中的类型注解符号->,该符号用于描述函数返回类型。在了解其作用后,作者选择移除该符号以避免在Hadoop环境下出现错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天把代码放到Hadoop平台时调试代码的时候报错,

但是在本地测试并没有什么问题,然后可查看了下代码,报错的地方这么定义的:

看到这个符号觉得很奇怪,因为在Python中确实没见过这个符号,后来查了一下,参考这个博主写的:https://blog.youkuaiyun.com/u010883226/article/details/87167904

->常常出现在python函数定义的函数名后面,为函数添加元数据,描述函数的返回类型,从而方便开发人员使用。比如:

def attrs(self) -> _Attrs:
    pass
def add(x, y) -> int:
  return x+y

这个符号通常放在我们定义的函数的函数名后面。

这里面,元数据表明了函数的返回值为int类型。
至于楼主问题中的,-> _Attr则表明函数返回的是一个外部可访问的类的私有变量。

看完这个解释觉得这个符号似乎不是一个很重要的应用,所以为了避免报错,所以去掉了代码后面的->符号,报错信息也没了

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值