前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python零基础入门篇①⑥] - Python中的赋值运算符与比较运算符

[Python零基础入门篇①⑥] - Python中的赋值运算符与比较运算符

原创
作者头像
哈哥撩编程
发布2024-06-26 21:35:37
870
发布2024-06-26 21:35:37

⭐️ Python 赋值运算符

🌟 赋值运算符有哪些?

运算符

描述

示例

=

赋值

c = a+b

-=

减法赋值

c -= a -> c = c - a

+=

加法赋值<font color=red>(非数学的加法释义,也叫加等于赋值) </font>

c += a -> c = c + a

*=

乘法赋值

c = a -> c = c a

/=

除法赋值

c /= a ->c=c / a

%=

取模赋值

c %= a -> c= c % a

**=

乘方赋值

c **= a ->c ** a

//=

整除运算

c //= a -> c // a

这里举个简单的例子:

代码语言:python
复制
n1 = 100
f1 = 25.5
n1 -= 80  #等价于 n1=n1-80
f1 *= n1 - 10 #等价于 f1=f1*( n1 - 10 )
print("n1=%d" % n1)
print("f1=%.2f" % f1)

# >>> 运行结果如下:
# >>> n1=20
# >>> f1=255.00

通常情况下,只要能使用扩展后的赋值运算符,都推荐使用这种赋值运算符。

但是请注意,这种赋值运算符只能针对已经存在的变量赋值,因为赋值过程中需要变量本身参与运算,如果变量没有提前定义,它的值就是未知的,无法参与运算。例如,下面的写法就是错误的:

代码语言:python
复制
n += 10

该表达式等价于 n = n + 10,n 没有提前定义,所以它不能参与加法运算。

🌟 Python 中不同数据类型的赋值

✨ 单个变量赋值单个对象

代码语言:python
复制
a = 1
b = 1.0
c = "字符串"
d = [1, 2, 3, 4]
e = (1, 2, 3, 4)
f = {1, 2, 3, 4}
g = {1: 1, 2: 2}

✨ 多个变量同时赋值多个对象

python 的特性,可以一行代码,同时给多个变量赋值

代码语言:python
复制
# 多变量
a, b = 1, 2
print(a, b)

a, b, c, d = 1, 2.0, True, "字符串"
print(a, b, c, d)

e, f, g, h = [1, 2, 3, 4], (1, 2, 3, 4), {1, 2, 3, 4}, {1: 1, 2: 2}
print(e, f, g, h)


# 输出结果
1 2
1 2.0 True 字符串
[1, 2, 3, 4] (1, 2, 3, 4) {1, 2, 3, 4} {1: 1, 2: 2}

✨ 单个变量赋值多个对象

这是 Python 元组的特性,单个变量使用 = 时,元组在右边的时候可以不用加 ( ),也称为元组打包

代码语言:python
复制
# 单个变量
a = 1, True, "字符串"
print(a, type(a))


# 输出结果
(1, True, '字符串') <class 'tuple'>

✨ 多个变量赋值单个序列对象

  • 这也叫序列解包,因为解包操作的 = 右侧可以是任何序列
  • 序列解包要求等号左侧的变量数与右侧序列里所含的元素数相同
代码语言:python
复制
a, b, c = (1, 2, 3)
print(a, b, c)

a, b, c = [1, 2, 3]
print(a, b, c)

a, b, c = {1, 2, 3}
print(a, b, c)


# 输出结果
1 2 3
1 2 3
1 2 3

✨ 小结

多重赋值其实就是元组打包和序列解包的组合

⭐️ Python 比较运算符

🌟 比较运算符有哪些?

比较运算符

说明

大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。

<

小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。

==

等于,如果==两边的值相等,则返回 True,否则返回 False。

=

大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。

<=

小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。

!=

不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。

==<>==

==不等于(Python3中已经弃用,Python2中生效)==

is

判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。

is not

判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

Python 比较运算符的使用举例:

代码语言:python
复制
print("89是否大于100:", 89 > 100)
print("24*5是否大于等于76:", 24*5 >= 76)
print("86.5是否等于86.5:", 86.5 == 86.5)
print("34是否不等于35.0:", 34 != 35.0)
print("False是否不等于True:", False < True)
print("True是否等于True:", True == True)

运行结果:

代码语言:python
复制
89是否大于100: False
24*5是否大于等于76: True
86.5是否等于86.5: True
34是否等于35.0: True
False是否小于True: True
True是否等于True: True

🌟 == 和 is 的区别

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

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

代码语言:python
复制
import time  #引入time模块

t1 = time.gmtime() # gmtime()用来获取当前时间
t2 =  time.gmtime()

print(t1 == t2) #输出True
print(t1 is t2) #输出False

运行结果:

代码语言:python
复制
# True
# False

time 模块的 gmtime() 方法用来获取当前的系统时间,精确到秒级,因为程序运行非常快,所以 t1 和 t1 得到的时间是一样的。== 用来判断 t1 和 t2 的值是否相等,所以返回 True。

虽然 t1 和 t2 的值相等,但它们是两个不同的对象(每次调用 gmtime() 都返回不同的对象),所以t1 is t2返回 False。这就好像两个双胞胎姐妹,虽然她们的外貌是一样的,但它们是两个人。

那么,如何判断两个对象是否相同呢?答案是判断两个对象的内存地址。如果内存地址相同,说明两个对象使用的是同一块内存,当然就是同一个对象了;这就像两个名字使用了同一个身体,当然就是同一个人了。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ⭐️ Python 赋值运算符
    • 🌟 赋值运算符有哪些?
      • 🌟 Python 中不同数据类型的赋值
        • ✨ 单个变量赋值单个对象
        • ✨ 多个变量同时赋值多个对象
        • ✨ 单个变量赋值多个对象
        • ✨ 多个变量赋值单个序列对象
        • ✨ 小结
    • ⭐️ Python 比较运算符
      • 🌟 比较运算符有哪些?
        • 🌟 == 和 is 的区别
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档