【从零学习python 】07.Python运算符详解:赋值、比较和逻辑运算符

简介: 【从零学习python 】07.Python运算符详解:赋值、比较和逻辑运算符

赋值运算符

基本赋值运算符

运算符 描述 实例
= 赋值运算符 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7

单个变量赋值

num = 10
num

同时为多个变量赋值(使用等号连接):

a = b = 4
a
b

多个变量赋值(使用逗号分隔):

num1, f1, str1 = 100, 3.14, "hello"
num1
f1
str1

语法错误,值的个数超过变量的个数,赋值失败:

num1,num2=(1,2,3)

语法错误,变量的个数超过值的个数,赋值失败:

num1,num2,num3,num4=(1,2,3)

复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 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 = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a

示例:+=

a = 100
a += 1  # 相当于执行 a = a + 1
a

示例:*=

a = 100
a *= 2  # 相当于执行 a = a * 2
a

示例:*=,运算时,符号右侧的表达式先计算出结果,再与左边变量的值运算

a = 100
a *= 1 + 2  # 相当于执行 a = a * (1+2)
a

注意:赋值运算符是从右往左运算,将等号右边的值赋值给等号左边,所以,等号的左边一定不能是常量或者表达式。

比较运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 True。这个运算符类似 !=
> 大于 - 返回x是否大于y (a > b) 返回 False
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 True
>= 大于等于 - 返回x是否大于等于y (a >= b) 返回 False
<= 小于等于 - 返回x是否小于等于y (a <= b) 返回 True

字符串使用比较运算符

数字和字符串做==运算结果是False,除了 == 以外的逻辑运算时,会直接报错。

str1 == a
• 1

如果是两个字符串进行比较,会将每个字符都转换成对应的编码,然后逐一进行对比。

str1 = 'a'
str2 = 'ABC'
# 将字符转换成为对应的编码  a对应的编码是97,A对应的编码是65
str1 > str2

逻辑运算符

运算符 逻辑表达式 描述
and x and y 只要有一个运算数是False,结果就是False;只有所有的运算数都为True时,结果才是True。做取值运算时,取第一个为False的值,如果所有的值都为True,取最后一个值。
or x or y 只要有一个运算数是True,结果就是True;只有所有的运算数都为False时,结果才是False。做取值运算时,取第一个为True的值,如果所有的值都为False,取最后一个值。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

练习:

a = 34
b = 12
print((a > b) and (b > 10) and (a > 30) and (a > 50)) 
print((a > b) and (b > 10) and (a > 30) and (a < 50)) 
print(a and b and 'hello' and 0 and 123)
print(a and b and 'hello' and 123 and 'hi')
print((a > 50) or (b < 10) or a > b or (a == b))
print((a > 50) or (b < 10) or a < b or (a == b))
print(0 or None or a or '')
print(0 or "" or '' or None)

提高:

面试题:一下代码的输出结果是什么,为什么会有这样的输出。

a = 34
a > 10 and print('hello world')
a < 10 and print('hello world')
a >10 or print('你好世界')
a <10 or print('你好世界')

思考:

逻辑运算的短路问题

逻辑与运算和逻辑或运算取值时为什么是那种规则。

相关文章
|
3天前
|
Python
Python赋值运算符
【6月更文挑战第27天】Python赋值运算符。
11 6
|
1天前
|
供应链 数据挖掘 Python
后劲真大,我愿称之为学习python的“圣经”
很多小伙伴都在学习Python,但是爱看书的找不到适合自己的,这本书可以完美的解决你的问题,还能帮助到很多需要处理数据,做Excel自动方面的。
|
3天前
|
Python
Python比较运算符
【6月更文挑战第27天】Python比较运算符。
8 4
|
4天前
|
SQL 小程序 数据库连接
【Python学习】Python基础必背的内容
【Python学习】Python基础必背的内容
15 1
|
14天前
|
存储 安全 Java
在Python中,引用和赋值机制是理解变量和数据对象之间关系的关键
【6月更文挑战第16天】Python变量是对象引用,不存储数据,指向内存中的对象。赋值`=`创建引用,不复制对象。`b = a`时,a和b指向同一对象。引用计数管理对象生命周期,垃圾回收在引用数为0时回收对象。理解这些机制对优化内存使用关键。
33 7
|
13天前
|
Python
GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了
这份笔记的目标是为了给出一份比较精炼,但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单,但是措辞比较罗嗦,而且一个语法点往往散落在多个章节,不方便读者总结。 我在做笔记时,将一个知识点的内容都统筹在一个章节里面,因此提炼性大大提高。而且还有《Python学习手册》中文第四版的翻译在某些章节(可能难度较大?)措辞可能前后矛盾。当知识点提炼之后就能够很快的找到一些难以理解的概念的上下文,方便吃透这些难点。
|
4天前
|
调度 Python
Python多线程学习优质方法分享
Python多线程学习优质方法分享
|
4天前
|
程序员 Python
Python运算符全面讲解
Python运算符全面讲解
|
6天前
|
Python
Python深入学习教程
Python深入学习教程
|
6天前
|
JavaScript PHP 网络架构
Python学习技巧及方法总结
Python学习技巧及方法总结
10 0