找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2182|回复: 1

[讨论] 关于python特殊方法的疑惑

1

主题

1

帖子

1

积分

贫民

积分
1
icy 发表于 2019-2-15 01:48:58 | 显示全部楼层 |阅读模式
在python中赋值:a = -2调用特殊方法__abs__:a.__abs__( )
命令行输出值为2
而如果输入-2.__abs__( ),命令行会报语法错误:SyntaxError: invalid syntax
同样的,如果调用__hash__( ),也会存在这样的现象。
请教大家,造成这种区别的原因是什么,这种区别又和python语言背后的设计方式有什么关系呢?

回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-2-15 11:45:02 | 显示全部楼层
a是变量是对象,.__abs__是它的属性。abs()是函数,-2是值,在abs(-2)里是参数。python是面向对象的语言。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表