Python运算符(二):赋值/比较/逻辑

简介: Python运算符(二):赋值/比较/逻辑


Python 有8种运算符:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 三目运算符


赋值运算符


Python 赋值运算符主要用来为变量(或常量)赋值,在使用时,既可以直接用基本赋值运算符“=”将右侧的值赋给左侧的变量,右侧也可以在进行某些运算后再赋值给左侧的变量。


a = 21
    b = 10
    c = 0
    c = a + b
    print("c 值为:", c)  # 31
    c += a
    print("c 值为:", c)  # 52
    c *= a
    print("c 值为:", c)  # 1092
    c /= a
    print("c 值为:", c)  # 52.0
    c = 2
    c %= a
    print("c 值为:", c)  # 2
    c **= a
    print("c 值为:", c)  # 2097152
    c //= a
    print("c 值为:", c)  # 99864


小提示:需要初学者特别注意的是,= 和 == 的含义完全不同,前者是赋值号,后者是等号,千万不要混淆。


比较运算符


Python比较运算符用于基本的数学运算,包括了等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。

等于(==):比较对象是否相等。


'''
    Author: Python当打之年
    '''
    a = 278
    b = 278
    c = 3
    print(a==b) # True
    print(a==c) # False
    print(id(a)) # 140710118037184
    print(id(b)) # 140710118037184
    print(id(c)) # 140710118037216
    lst1 = ["hello world"]
    lst2 = ["hello world"]
    print(lst1 is lst2)  # False
    print(lst1 == lst2)  # True
    print(id(lst1)) # 2565803889728
    print(id(lst2)) # 2565805256384


小提示:对象之间比较,可以用 ==,也可以用 is ,两者之间的区别如下:

  • is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。内存地址可以通过id()函数查询
  • == 比较的是两个对象的内容是否相等,即内存地址可以不一样,内容一样就可以了


不等于(!=):比较对象是否不相等。


a = '278'
    b = '278'
    c = 3
    print(a!=b) # False
    print(a!=c) # True
    lst1 = ["hello world"]
    lst2 = ["hello world"]
    print(lst1 is not lst2)  # True
    print(lst1 != lst2)  # False
    print(id(lst1)) # 2565803889728
    print(id(lst2)) # 2565805256384

小提示:!=/is not 与 ==/ is 类似。


大于(>):比较对象大小,前者是否大于后者。

小于(<):比较对象大小,前者是否小于后者。

大于等于(>=):比较对象大小,前者是否大于等于后者。

小于等于(<=):比较对象大小,前者是否小于等于后者。

列表比较:从第一个元素顺序开始比较,如果相等,则继续,返回第一个不想等元素比较的结果。如果所有元素比较均相等,则长的列表大,一样长则两列表相等。


lst1 = [1,2,3]
    lst2 = [1,3,5]
    lst3 = [1,2,3,-1]
    print(lst1 < lst2) # True
    print(lst1 < lst3) # True
    print(lst2 < lst3) # False
    print(lst1 > lst2) # False
    print(lst1 > lst3) # False
    print(lst2 > lst3) # True


逻辑运算符


python 逻辑运算符包括:and, or, not

优先级:() > not > and > or

and 逻辑与运算

x and y:

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。


x = 50*2
    y = 100*2
    z = 100*0
    # 计算x, 计算y
    print(x and y) # 200
    # 计算x, 计算z
    print(x and z) # 0
    # 计算z, 不计算x
    print(z and x) # 0


or 逻辑或运算

x or y:

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

x = 50*2
    y = 100*2
    z = 100*0
    # 计算x, 不计算y
    print(x or y) # 100
    # 计算x, 不计算z
    print(x or z) # 100
    # 计算z, 计算x
    print(z or x) # 100


not 逻辑非运算

not x:

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

x = 50*2
    y = 100*2
    z = 100*0
    print(not x) # False
    print(not y) # False
    print(not z) # True


END

以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享到朋友圈让更多人知道哦

相关文章
|
2月前
|
JSON 数据格式 开发者
Python 3.10 结构模式匹配:简化条件逻辑的利器
Python 3.10 结构模式匹配:简化条件逻辑的利器
216 91
|
5天前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
47 3
|
12天前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
87 1
|
1月前
|
数据采集 网络协议 API
协程+连接池:高并发Python爬虫的底层优化逻辑
协程+连接池:高并发Python爬虫的底层优化逻辑
|
3月前
|
人工智能 测试技术 编译器
Python语言从2.7到3.14的能力变化与演进逻辑
Python自2008年进入3.0时代以来,经历了持续演进与革新。十六年间,从语言设计、标准库优化到性能提升、虚拟机改进,Python不断适应人工智能、云计算和微服务等技术的发展需求。本文全面梳理了Python 3发布以来的重要变化,涵盖编程风格现代化、类型系统完善、类库生态调整、性能优化突破以及虚拟机技术创新等多个维度,展示了Python如何在保持简洁易用的同时,实现高效、稳定和可扩展的工程能力。未来,Python将在性能、类型安全和云原生等方面持续进化,进一步巩固其在现代软件开发中的核心地位。
358 30
|
5月前
|
人工智能 Python
Python 中的 `and`, `or`, `not` 运算符
本文介绍了 Python 中的逻辑运算符 `and`、`or` 和 `not` 的基本用法及其特性。这些运算符主要用于布尔运算,特别是在条件判断和循环中非常有用。文章详细解释了每个运算符的功能,例如 `and` 检查所有表达式是否为真,`or` 检查是否有任意一个表达式为真,`not` 用于取反。此外,还提到这些运算符支持短路特性,并可应用于非布尔值场景。掌握这些运算符有助于编写更高效、简洁的代码。
429 11
|
9月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
384 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
10月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
144 14
|
8月前
|
知识图谱 Python
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。
|
9月前
|
存储 Python
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
174 1

推荐镜像

更多