> 文档中心 > Python零基础入门篇 - 17 - Python中的赋值运算符与比较运算符

Python零基础入门篇 - 17 - Python中的赋值运算符与比较运算符


前言
✌ 作者简介:渴望力量的哈士奇,大家可以叫我 🐶哈士奇🐶 。(我真的养了一只哈士奇)
📑 个人主页:渴望力量的哈士奇主页
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥 如果感觉博主的文章还不错的话,还请不吝👍关注、点赞、收藏三连支持👍一下博主哦
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬

📕系列专栏::
               👍 Python全栈系列 - [更新中]    ➡️➡️➡️ 【 本文在该系列】
               👋 网安之路系列
​                       🍋 网安之路踩坑篇
​                       🍋 网安知识扫盲篇
​                       🍋 Vulhub 漏洞复现篇
​                       🍋 Shell脚本编程篇
​                       🍋 Web攻防篇  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                       🍋 渗透工具使用集锦  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                ⭐️ 点点点工程师系列
​                       🍹 测试神器 - Charles 篇
​                       🍹 测试神器 - Fiddler 篇
​                       🍹 测试神器 - Jmeter 篇
​                       🍹 自动化 - RobotFrameWork 系列
​                       🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化
                       🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化
​                🤗 2019年之前学习Python留下的乱七八糟系列

                                                                                  🎉🎉欢迎持续关注🎉🎉

Python零基础入门篇 - 17 - Python中的赋值运算符与比较运算符

文章目录

  • Python 赋值运算符
    • 赋值运算符有哪些?
    • Python 中不同数据类型的赋值
      • 单个变量赋值单个对象
      • 多个变量同时赋值多个对象
      • 单个变量赋值多个对象
      • 多个变量赋值单个序列对象
      • 总结
  • Python 比较运算符
    • 比较运算符有哪些?
    • == 和 is 的区别

Python 赋值运算符

赋值运算符有哪些?

运算符 描述 示例
= 赋值 c = a+b
-= 减法赋值 c -= a -> c = c - a
=+ 加法赋值 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

这里举个简单的例子:

n1 = 100f1 = 25.5n1 -= 80  #等价于 n1=n1-80f1 *= n1 - 10 #等价于 f1=f1*( n1 - 10 )print("n1=%d" % n1)print("f1=%.2f" % f1)# >>> 运行结果如下:# >>> n1=20# >>> f1=255.00

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

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

n += 10

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

Python 中不同数据类型的赋值

单个变量赋值单个对象

a = 1b = 1.0c = "字符串"d = [1, 2, 3, 4]e = (1, 2, 3, 4)f = {1, 2, 3, 4}g = {1: 1, 2: 2}

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

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

# 多变量a, b = 1, 2print(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 21 2.0 True 字符串[1, 2, 3, 4] (1, 2, 3, 4) {1, 2, 3, 4} {1: 1, 2: 2}

单个变量赋值多个对象

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

# 单个变量a = 1, True, "字符串"print(a, type(a))# 输出结果(1, True, '字符串') 

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

  • 这也叫序列解包,因为解包操作的 = 右侧可以是任何序列
  • 序列解包要求等号左侧的变量数与右侧序列里所含的元素数相同
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 31 2 31 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 比较运算符的使用举例:

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)

运行结果:

89是否大于100: False24*5是否大于等于76: True86.5是否等于86.5: True34是否等于35.0: TrueFalse是否小于True: TrueTrue是否等于True: False

== 和 is 的区别

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

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

import time  #引入time模块t1 = time.gmtime() # gmtime()用来获取当前时间t2 =  time.gmtime()print(t1 == t2) #输出Trueprint(t1 is t2) #输出False

运行结果:

TrueFalse

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

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

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

唱吧电脑版