python不等于运算符的具体使用

如果两个变量具有相同的类型并且具有不同的值 ,则Python不等于运算符将返回True ;如果值相同,则它将返回False 。

Python is dynamic and strongly typed language, so if the two variables have the same values but they are of different type, then not equal operator will return True.

Python是动态的强类型语言,因此,如果两个变量具有相同的值,但它们的类型不同,则不相等的运算符将返回True 。

Python不等于运算符 (Python not equal operators)

OperatorDescription
!=Not Equal operator, works in both Python 2 and Python 3.
<>Not equal operator in Python 2, deprecated in Python 3.
操作员描述
!=不是Equal运算符,可在Python 2和Python 3中使用。
<>在Python 2中不等于运算符,在Python 3中已弃用。

Python 2示例 (Python 2 Example)

Let's see some examples of not-equal operator in Python 2.7.

我们来看一些Python 2.7中不等于运算符的示例。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

$ python2.7

Python 2.7.10 (default, Aug 17 2018, 19:45:58)

[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> 10 <> 20

True

>>> 10 <> 10

False

>>> 10 != 20

True

>>> 10 != 10

False

>>> '10' != 10

True

>>>

Python 3示例 (Python 3 Example)

Here is some examples with Python 3 console.

这是Python 3控制台的一些示例。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

$ python3.7

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24)

[Clang 6.0 (clang-600.0.57)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> 10 <> 20

  File "<stdin>", line 1

    10 <> 20

        ^

SyntaxError: invalid syntax

>>> 10 != 20

True

>>> 10 != 10

False

>>> '10' != 10

True

>>>

We can use Python not equal operator withf-strings too if you are using Python 3.6 or higher version.

如果您使用的是Python 3.6或更高版本,我们也可以将Python不等于运算符与f字符串一起使用。

1

2

3

4

5

6

7

8

9

10

11

12

x = 10

y = 10

z = 20

  

print(f'x is not equal to y = {x!=y}')

  

flag = x != z

print(f'x is not equal to z = {flag}')

  

# python is strongly typed language

s = '10'

print(f'x is not equal to s = {x!=s}')

Output:

输出:

x is not equal to y = False
x is not equal to z = True
x is not equal to s = True

Python不等于自定义对象 (Python not equal with custom object)

When we use not equal operator, it calls __ne__(self, other) function. So we can define our custom implementation for an object and alter the natural output.

当我们使用不等于运算符时,它将调用__ne__(self, other)函数。 因此,我们可以为对象定义自定义实现并更改自然输出。

Let's say we have Data class with fields – id and record. When we are using the not-equal operator, we just want to compare it for record value. We can achieve this by implementing our own __ne__() function.

假设我们有带字段的Data类-id和record。 当我们使用不等于运算符时,我们只想比较它的记录值。 我们可以通过实现自己的__ne __()函数来实现这一点。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

class Data:

    id = 0

    record = ''

  

    def __init__(self, i, s):

        self.id = i

        self.record = s

  

    def __ne__(self, other):

        # return true if different types

        if type(other) != type(self):

            return True

        if self.record != other.record:

            return True

        else:

            return False

  

  

d1 = Data(1, 'Java')

d2 = Data(2, 'Java')

d3 = Data(3, 'Python')

  

print(d1 != d2)

print(d2 != d3)

Output:

输出:

False
True

Notice that d1 and d2 record values are same but “id” is different. If we remove __ne__() function, then the output will be like this:

请注意,d1和d2记录值相同,但“ id”不同。 如果删除__ne __()函数,则输出将如下所示:

True
True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值