python中正确的输入语句_python中,输入简单的非法语句为什么显示不一致呢

展开全部

因为解释器先检查2113语法, 再检查语义

这两行代码里5261, $=是语法错误, python没有这个语法

SyntaxError: invalid syntax 就是告诉你4102, 语法错误

但是%=是存在的, 是可以1653使用的正规语法

比如x = 5; x %= 2

x会变成1

但是你的my不是一个先定义过的变量, 不能使用%=

NameError: name 'my' is not defined 是说'my'没有被定义过, python无法在环境中找到'my'这个名字

所有的X= (+=, -=. *=....)都需要用在先定义过的变量上>>> x = "abc %s def"

>>> x %= "xyz"

>>> x

'abc xyz def'

最后, 如果你在不支持某个运算符的变量上调用那个运算符>>> class A:

pass

>>> a = A()

>>> a %= 1

会得到如下,

Traceback (most recent call last):

File "", line 1, in

a %= 1

TypeError: unsupported operand type(s) for %=: 'instance' and 'int'

如何给你自己的类正确定义运算符?>>> class A(object):

i = 1

def __add__(self, x):

y = A()

y.i = self.i + x.i

return y

>>> a = A()

>>> b = A()

>>> a + b

<__main__.A object at 0x0000000002D98F98>

>>> x = a + b

>>> x.i

2

>>> x += A()

>>> x

<__main__.A object at 0x0000000002DA0080>

>>> x.i

3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值