比较运算符,也成关系运算符,用于对常量、变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回 True;反之,则返回 False。Python 支持的比较运算符如下图所示

下面程序示范了比较运算符的基本用法:

print("5是否大于 4:", 5 > 4)

5是否大于 4: True

print("3的4次方是否大于等于90.0:", 3 ** 4 >= 90)

3的4次方是否大于等于90.0: False

print("20是否大于等于20.0:", 20 >= 20.0)

20是否大于等于20.0: True

print("5和5.0是否相等:", 5 == 5.0)

5和5.0是否相等: True

print("True和False是否相等:", True == False)

True和False是否相等: False

比较运算符 == 和 is 的区别

初学 Python,大家可能对 is 比较陌生,很多人会误将它和 == 的功能混为一谈,但其实 is 与 == 有本质上的区别,完全不是一码事儿。

== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象,例如:

import time

获取当前时间 a = time.gmtime()

b = time.gmtime()

print(a == b) # a和b两个时间相等,输出True

print(a is b) # a和b不是同一个对象,输出False

上面代码中 a、b 两个变量都代表当前系统时间,因此 a、b 两个变量的时间值是相等的(代码运行速度很快,能保证是同一时间),故程序使用“==”判断返回 True。但由于 a、b 两个变量分别引用不同的对象(每次调用 gmtime() 函数都返回不同的对象),因此a is b返回 False。

那么,如何判断两个变量是否属于一个对象呢?Python 提供了一个全局的 id() 函数,它可以用来判断变量所引用的对象的内存地址(相当于对象在计算机内存中存储位置的门牌号),如果两个对象所在的内存地址相同(相当于它们住在同一个房间内,计算机同一块内存在任一时刻只能存放一个对象),则说明这两个对象其实是同一个对象。

由此可见,is 判断其实就是要求通过 id() 函数计算两个对象时返回相同的地址。例如,使用 id() 函数判断上面的 a、b 两个变量:

print(id(a))

print(id(b))

从运行结果中将会看到 a、b 两个变量所引用的对象的内存地址是不同的,这样通过 is 来判断 a、b 两个变量自然也就输出 False 了。

再举一个例子:

a = 'cheesezh'
b = 'cheesezh'
id(a)
2680257978480
id(b)
2680257978480
a is b
True

比较运算符,也成关系运算符,用于对常量、变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回 True;反之,则返回 False。Python 支持的比较运算符如下图所示!

下面程序示范了比较运算符的基本用法:

print("5是否大于 4:", 5 > 4)

5是否大于 4: True

print("3的4次方是否大于等于90.0:", 3 ** 4 >= 90)

3的4次方是否大于等于90.0: False

print("20是否大于等于20.0:", 20 >= 20.0)

20是否大于等于20.0: True

print("5和5.0是否相等:", 5 == 5.0)

5和5.0是否相等: True

print("True和False是否相等:", True == False)

True和False是否相等: False

比较运算符 == 和 is 的区别

初学 Python,大家可能对 is 比较陌生,很多人会误将它和 == 的功能混为一谈,但其实 is 与 == 有本质上的区别,完全不是一码事儿。

== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象,例如:

import time

获取当前时间 a = time.gmtime()

b = time.gmtime()

print(a == b) # a和b两个时间相等,输出True

print(a is b) # a和b不是同一个对象,输出False

上面代码中 a、b 两个变量都代表当前系统时间,因此 a、b 两个变量的时间值是相等的(代码运行速度很快,能保证是同一时间),故程序使用“==”判断返回 True。但由于 a、b 两个变量分别引用不同的对象(每次调用 gmtime() 函数都返回不同的对象),因此a is b返回 False。

那么,如何判断两个变量是否属于一个对象呢?Python 提供了一个全局的 id() 函数,它可以用来判断变量所引用的对象的内存地址(相当于对象在计算机内存中存储位置的门牌号),如果两个对象所在的内存地址相同(相当于它们住在同一个房间内,计算机同一块内存在任一时刻只能存放一个对象),则说明这两个对象其实是同一个对象。

由此可见,is 判断其实就是要求通过 id() 函数计算两个对象时返回相同的地址。例如,使用 id() 函数判断上面的 a、b 两个变量:

print(id(a))
print(id(b))

从运行结果中将会看到 a、b 两个变量所引用的对象的内存地址是不同的,这样通过 is 来判断 a、b 两个变量自然也就输出 False 了。

再举一个例子:

a = 'cheesezh'
b = 'cheesezh'
id(a)
2680257978480
id(b)
2680257978480
a is b
True

专题推荐:不等于