首页 > 编程语言 >Python基础之基本运算符

Python基础之基本运算符

时间:2024-05-08 15:36:39浏览次数:30  
标签:基本 输出 False Python 运算符 print True 赋值

【一】参考网站

菜鸟教程:https://www.runoob.com/python/python-operators.html

【二】算数运算符

  • python支持的算数运算符与数学的运算符号是一样的

# 【1】加法运算符 
a = 3
b = 4
c = a + b
print(c)  # 输出 7

# 【2】减法运算符 
a = 3
b = 4
c = a - b
print(c)  # 输出 -1

# 【3】乘法运算符 
a = 3
b = 4
c = a * b
print(c)  # 输出 12

# 【4】除法运算符 
a = 3
b = 4
c = a / b
print(c)  # 输出 0.75

# 【5】取整除运算符 
a = 3
b = 4
c = a // b
print(c)  # 输出 0

# 【6】求余数运算符 
a = 3
b = 4
c = a % b
print(c) # 输出 3

# 【7】幂运算符 
a = 3
b = 4
c = a ** b
print(c)  # 输出 81

【三】比较运算符

  • 比较运算用来对两个值进行比较,返回值是True或False

#【1】相等运算符 
a = 3
b = 4
c = a == b
print(c)  # 输出:False

#【2】不等运算符 
a = 3
b = 4
c = a != b
print(c) # 输出:True

#【3】大于运算符 
a = 3
b = 4
c = a > b
print(c) # 输出:False

#【4】小于运算符 
a = 3
b = 4
c = a < b
print(c)  # 输出:True

#【5】大于等于运算符 
a = 3
b = 4
c = a >= b
print(c) # 输出:False

#【6】小于等于运算符 
a = 3
b = 4
c = a <= b
print(c)  # 输出:True

【四】赋值运算符

  • 赋值运算还有增量赋值、链式赋值、交叉赋值、解压赋值

#【1】增量赋值
a = 2
b = 3
a += b
print(a)  # 输出:5
# x += y 等同于 x = x + y,相当于将变量 a 的值与 b 相加,并将结果赋值给 a
#【2】链式赋值
a = b = c = 1
print(a, b, c)  # 输出:1 1 1
# a = b = c = 5 相当于同时给变量 a、b、c 赋值为 1
#【3】交叉赋值
a = 2
b = 3
a, b = b, a
print(a, b)  # 输出:3 2
# a, b = b, a 表示将变量 a 的值赋给 b,同时将变量 b 的值赋给 a,把两个变量值的交换了
#【4】解压赋值
c = (2, 3)
a, b = c
print(a, b)  # 输出:2 3

【五】逻辑运算符

  • 逻辑运算符用于连接多个条件,进行关联判断,并返回 TrueFalse
  • 常用的逻辑运算符有 and、or、not

# 【1】与运算符

# 与运算符 and 在两个条件都为 True时,返回True,如果其中一个条件为False,则返回False
a = 3
b = 6
c = (a > 0) and (b > 0)
print(c)  # 输出:True

# 【2】或运算符 
# 或运算符 or在两个条件中至少有一个为True时,返回True,如果两个条件都为False,则返回False
a = 3
b = 6
c = (a > 0) or (b > 0)
print(c)  # 输出:True

# 【3】非运算符
#非运算符 not用于对一个条件取反,如果条件为True,则返回False,如果条件为False,则返回True。
a = 3
c = not (a > 0)
print(c)  # 输出:False

# 【4】连续问题
#(1)连续多个and
# 在连续多个 and运算中,如果其中一个条件为False,则整个表达式的结果为False,即使后面的条件都为 True
a = 3
b = 5
c = 8
d = (a > 0) and (b > 0) and (c > 0)
print(d)  # 输出:True
#(2)连续多个or
#在连续多个 or运算中,如果其中一个条件为True,则整个表达式的结果为True,即使后面的条件都为False
a = 3
b = 5
c = 8
d = (a > 0) or (b > 0) or (c > 0)
print(d)  # 输出:True

# 【5】优先级 not>and>or
# 在逻辑运算中,优先级:not>and>or
#(1)优先级关系
print(3 > 4 and 4 > 3 or 1 == 3 and 'x' == 'x' or 3 > 3)  #输出 False
#(2)区分版块
#  (1) not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割
#  (2) 如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可
#  (3) 如果语句中既有and也有or,那么先用括号把and的左右两个条件给括起来,然后再进行运算
print((3 > 4 and 4 > 3) or (1 == 3 and 'x' == 'x') or 3 > 3) #输出 False
#(3)短路运算
# 逻辑运算的结果一旦可以确定,那么就以当前计算到的值作为最终结果返回
>>> 10 and 0 or '' and 0 or 'abc' or 'egon' == 'dsb' and 333 or 10 > 4
	#用括号来明确优先级
>>> (10 and 0) or ('' and 0) or 'abc' or ('egon' == 'dsb' and 333) or 10 > 4
短路:       0      ''            'abc'                    
            假     假              真

返回:                            'abc'
#(4)短路运算面试题
1 or 3
1

1 and 3
3

0 and 2 and 1
0

0 and 2 or 1
1

0 and 2 or 1 or 4
1

0 or False and 1
False

【六】成员运算符

  • 成员运算符用于测试序列是否包含特定的元素。可以用于字符串、列表、元组等序列类型的数据。

# 【1】in运算符
# 如果在指定的序列中找到值返回 True,否则返回 False。
number = ["one", "two", "three"]
print("one" in number)  # True
print("six" in number)  # False

# 【2】not in运算符
# 如果在指定的序列中没有找到值返回 True,否则返回 False。
number = ["one", "two", "three"]
print("one" not in number)  # False
print("six" not in number)   # True

有两种判断方式,我们常用的是第二种
print(not 'six' in ["one", "two", "three"])
# True
print('six' not in ["one", "two", "three"])
# True

【七】身份运算符

  • 身份运算符用于比较对象的内存地址,就是两个对象是否指向相同的内存地址。

# 【1】is运算符
# 如果两个变量引用同一个对象,则返回 True,否则返回 False。
a = 1
b = a
c = 2
print(a is b)  # True
print(a is c)  # False

# 【2】is not运算符
# 如果两个变量引用的不是同一个对象,则返回 True,否则返回 False。
a = 1
b = a
c = 2
print(a is not b)  # False
print(a is not c)  # True

【补充】==和 is

  • == 双等号比较的是value是否相等
  • is用于比较两个对象的标识id(内存地址)是否相同
  • 在实际应用中,特别是对于可变对象,==通常更适合用于比较值,而is更适合用于比较对象的身份。
  • id相同,内存地址必定相同,意味着type和value必定相同
  • value相同type肯定相同,但id可能不同
x = 'Info Tony:18'
y = 'Info Tony:18'
print(id(x), id(y))  # x与y的id不同,但是二者的值相同
# 3158064309168 3158064309168
print(x == y)  # 等号比较的是value
# True
print(type(x), type(y))  # 值相同type肯定相同
# (<class 'str'>, <class 'str'>)
print(x is y)  # is比较的是id,x与y的值相等但id可以不同
# True

标签:基本,输出,False,Python,运算符,print,True,赋值
From: https://www.cnblogs.com/ligo6/p/18179728

相关文章

  • Python基础之流程控制语句
    【一】流程控制语句介绍程序是由语句构成,而流程控制语句是用来控制程序中每条语句执行顺序的语句流程控制方式有顺序结构分支结构循环结构最简单最常用的就是顺序结构,执行方式是从上至下一句一句来【二】顺序结构【1】什么是顺序结构顺序结构是指按照代码书写的顺......
  • threading:Python线程锁与释放锁
    控制资源访问前文提到threading库在多线程时,对同一资源的访问容易导致破坏与丢失数据。为了保证安全的访问一个资源对象,我们需要创建锁。示例如下:importthreadingimporttimeclassAddThread():def__init__(self,start=0):self.lock=threading.Lock()......
  • nuitka: Python代码打包为exe
    一.pyinstaller和Nuitka使用感受1.1使用需求这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyintaller和nuitka。这2个工具同时都能满足项目的需要:隐藏源码。这里的pyinstaller是通过设置key来对源码进行加密的;而......
  • binaascii:A Python 在二进制和 ASCII 之间转换
    binaascii是一个用于在二进制和ASCII之间转换的模块。b2a_base64是binaascii模块中的一种方法,它将base64数据转换为二进制数据。下面是这个方法的一个例子:importbase64importbinasciimsg="Tandrew"encoded=msg.encode('ascii')base64_msg=base64.b64encode......
  • geopandas:Python绘制数据地图
    https://mp.weixin.qq.com/s/Nq5Ygy0axI83H2dclU56yQGeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoPandas。GeoPandas的官方文档地址为:GeoPandas-doc。本......
  • difflib: Python 比较数据集
    difflib 是一个专注于比较数据集(尤其是字符串)的Python模块。为了具体了解您可以使用此模块完成的几件事,让我们检查一下它的一些最常见的函数。SequenceMatcherSequenceMatcher 是一个比较两个字符串并根据它们的相似性返回数据的函数。通过使用 ratio(),我们将能够根据比率/......
  • string:Python的文本常量与字符串模板
    前言在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍。比如针对于字符串的处理,也是自然语言处理的基础知识。而python3中,处理字符串的库为:string。本篇将详细介绍各种字符串的高效处理方式。首字母大写对于英文单词......
  • time:Python的时间时钟处理
    前言time库运行访问多种类型的时钟,这些时钟用于不同的场景。本篇,将详细讲解time库的应用知识。获取各种时钟既然time库提供了多种类型的时钟。下面我们直接来获取这些时钟,对比其具体的用途。具体代码如下:importtimeprint(time.monotonic())print(time.monotonic_ns())pri......
  • Python基础之程序与用户交互
    程序与用户交互【一】什么是与用户交互交互就是输入和输出input输入数据,print输出数据【二】为什么要与用户交互将计算机拟人化,实现像人一样能和用户进行交流我们需要一个平台,也就是计算机来支持用户实现数据的输入和输出【三】如何与用户交互【1】输入(input)(1)Python3......
  • datetime:Python日期与时间值管理计算
    前言datetime库也用于时间日期的处理,主要用于完成日期和时间的解析,格式化和算术运算。本篇,将完整的介绍datetime库的应用知识。datetime.date与time库一样,datetime库也有获取当前日期的类,日历日期值用datetime.date表示。比如datetime.date.today()。具体代码如下:importdate......