栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python中的运算符重载

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中的运算符重载

正如其他答案所提到的,您确实可以重载运算符(通过在正在编写的类中定义特殊方法,即名称以两个下划线开头和结尾的方法)。所有的细节都在这里。

要完成对您问题的回答:您不能定义新的运算符;但是

<<
它不是一个新的运算符,它是一个现有的运算符,并且通过在类中定义method来使其过载
__lshift__

作为历史记录,这在C 中几乎也是这种情况-但是,您可以重载的运算符的确切集合在两种语言之间有所不同。例如,在C

中,您不能重载属性访问

.
;在Python中,您可以使用
__getattr__
(或
__getattribute__
使用不同的语义)和
__setattr__
。反之亦然,在Python
=
(普通赋值)中,它不是运算符,因此您不能重载它,而在C ++中,它是运算符,您可以重载它。

<<
是一种运算符,并且在两种语言中都可以重载,这就是
<<
and的方式
>>
,同时又不失去其左右移的初始含义,同时也成为了C ++中的I /O格式化运算符(不是Python!-)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号