一起来了解python的运算符

目录
  • 1、算数运算符
  • 2、比较运算符
  • 3、赋值运算符
  • 4、成员运算符
    • 实例
  • 5、身份运算符
    • 实例
  • 6、逻辑运算符
    • 实例
    • 逻辑短路
    • 逻辑优先级
  • 7、位运算符
    • 按位与
    • 按位或
    • 按位非
    • 按位异或
    • 右移
    • 左移
  • 8.运算符的优先级
  • 总结

1、算数运算符

小例中:
        a = 5
        b = 3

算数运算符 描述 小例
+ a + b = 8
- a - b = 2
* a * b = 15
/ a / b = 1.6666666666666667
// 整除 a // b = 1
% 取余 a % b = 2
** a ** b = 125

注:

	(1)、整数经过除法运算后变成浮点数(小数);
	(2)、整除结果只取整数部分,小数点以及后面的数字删除;

取余的四种情况:

1、正常情况
	5 % 3 = 2
2、被除数为负数
	-5 % 3 = 1
	计算过程:
		(-2) + 3 = 1
		在正常情况下的余数前减负号,然后与除数相加得最终结果
3、除数为负数
	5 % -3 = -1
	计算过程:
		2 + (-3)= -1
		在正常情况下的余数,然后与除数相加得最终结果
4、被除数和除数都为负数
		-5 % -3 = -2
		计算过程:
			在正常情况的余数前面加负号,也就是正常情况的余数的相反数

2、比较运算符

比较运算符运算的结果为布尔值,当结果正确时为True(真),当结果错误时为False(假)。

小例中:
a = 1
b = 2

比较运算符 描述 小例
> 大于 a > b -->False
< 小于 a < b -->True
>= 大于等于 a >= b -->False
<= 小于等于 a <= b --> True
== 等于 a == b --> False
!= 不等于 a != b --> True

注:

>=、<= 只要满足一个条件结果就为真

3、赋值运算符

小例中:
    a = 2
    b = 3

赋值运算符 描述 小例
= 简单的赋值运算符 a = b,将b的值赋值给a, 结果a=3
+= 加法赋值运算符 a += b,等于a = a + b, 结果a=5
-= 减法赋值运算符 a -= b,等于a = a - b, 结果a=-1
*= 乘法赋值运算符 a *= b,等于a = a * b, 结果a=6
/= 除法赋值运算符 a /= b,等于a = a / b, 结果a=0.6666666666666666
//= 整除赋值运算符 a //= b,等于a = a // b, 结果a=0
**= 幂赋值运算符 a **= b,等于a = a ** b, 结果a=6

4、成员运算符

成员运算符 描述
in x in y,判断x是不是在y中,如果在则返回True,否则返回False
not in x not in y,判断x是不是在y中,如果不在则返回True,否则返回False

使用场景

1、字符串
2、列表
3、元组
4、集合
5、字典
6、---

实例

# 字符串
s = '这里是字符串的成员运算符的实例'
res1 = '字符串' in s
print(res1)		# True
res2 = '字符串' not in s
print(res2)		# False

# 列表
ls = [1 ,2,3]
ls1 = 1 in ls
print(ls1)		# True
ls2 = 1 not in ls
print(ls2)		# False

# 元组
tp = ('1','2','3')
tp1 = '1' in tp
print(tp1)		# True
tp2 = '1' not in tp
print(tp2)		# False

# 集合
st = {1,2,3}
st1 = 1 in st
print(st1)		# True
st2 = 1 not in st
print(st2)		# False

# 字典
dic = {'k1':'v1','k2':'v2','k3':'v3'}
dic1 =  'k1' in dic
print(dic1)		# True
dic2 = 'k1' not in dic
print(dic2)		# False
# 成员运算符 判断字典时 判断的是键 不是那个所对应的值
dic3 = 'v1' in dic
print(dic3)		# False

5、身份运算符

身份运算符 描述
is x is y,检测x和y在内存中是不是同一个地址,如果是则返回Ture,否则返回False
not is x not is y,检测x和y在内存中是不是同一个地址,如果不是则返回Ture,否则返回False

实例

# 这些实例都已pycharm运行,python自带解释器有所区别

# 整数、浮点数、布尔值相同地址相等
int1 = 5
int2 = 5
print(int1 is int2)		# True
float1 = 1.0
float2 = 1.0
print(float1 is float2)		# True
bool1 = True
bool2 = True
print(bool1 is bool2)		# True

# 字符串相同地址相等
s1 = '123'
s2 = '123'
print(s1 is s2)		# True

# 元组相同地址相等
tp1 = ()
tp2 = ()
print(tp1 is tp2)		# True

# 列表、集合、字典,无论什么情况地址都不相同
ls1 = []
ls2 = []
print(ls1 is ls2)		# False

6、逻辑运算符

逻辑运算符 描述 小例
and 逻辑与 :全真为真,一假为假 2>3 and 3<2 ---->True
or 逻辑或:全假为假,一真为真 1>2 or 2<1 ---->False
not 逻辑非:与原值相反 not 2>1 ---->False

实例

a = 1
b = 2
c = False
ser1 = a<b and b>a
print(ser1)		# True
ser2 = a>b or b<a
print(ser2)		# False
ser3 = not c
print(ser3)		# True

逻辑短路

适用一个and或者一个or:
	1、一个and时:x and y,如果x为假,则and后面的y不进行运算,结果直接为False。
	2、一个or时:x or y,如果x为真,则or后面的y不进行运算,结果直接为True。

逻辑优先级

逻辑优先级:() > not > and > or
res1 = True and (False or True)  # --> True and True
print(res1)		# True

res2 = False or not True  # -->False or False
print(res2)		# False

res3 = False and True or False and True or False # -->False or False or False
print(res3)		# False

7、位运算符

位运算是先将数据转换成二进制值数据,然后再进行一系列的运算。
位运算符 描述
& 按位与
| 按位或
~ 按位非
^ 按位异或
>> 右移
<< 左移

按位与

进行按位与运算的两个值,相同位置的二进制位值都为1,则结果为1,否则为0。
8 =   1000
9 =   1001
8&9 = 1000 	--->8

按位或

进行按位或运算的两个值,相同位置的二进制位值只要有一个为1,则结果为1。
9 =   1001
10 =  1010
8|9=  1011 	-->11

按位非

进行按位非运算,结果为:原值加一的绝对值即| n+1|
a = 6
b = -6
~a = |6+1| = 7
~b = |-6+1| = 5

按位异或

进行按位异或运算的两个值,相同位置的二进制位值相同,则结果为0,否则为1。
9 =    1001
10 =   1010
9^10 = 0011	-->3

右移

进行右移运算的值,右移几位,则有效二进制位右移几位。等效于n>>m等于n整除2的m次幂。
9 =    1001
9>>1=  0100 	-->4
10 =   1010
10>>2= 0010		-->2

左移

进行左移运算的值,左移几位,则有效二进制位左移几位。等效于n<<m 等于n乘以2的m次幂。
9 =     1001
9<<1 = 10010	-->18
10 =     1010
10<<2= 101000	-->40

8.运算符的优先级

1、乘、除 > 加、减
2、()> not > and > or
3、按位非(~) > 右移(>>)、左移 (<<)> 按位与(&) > 按位异或(^) > 按位或(|)
1、乘、除 > 加、减
2、()> not > and > or
3、按位非(~) > 右移(>>)、左移 (<<)> 按位与(&) > 按位异或(^) > 按位或(|)
一元运算符: 同一时间只操作一个数字运算的 ,例: ~1,-12
二元运算符: 同一时间只操作两个数字运算的 ,例:5 + 3
1、一元运算符优先级 > 二元运算符
2、所有运算符当中 ** 幂运算优先级最高
3、所有运算符当中 = 赋值运算符优先级最低
算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符>赋值运算符

总结

(1)算数运算符:  + - * / // % **
(2)比较运算符:  > < >= <= == !=
(3)赋值运算符:  = += -= *= /= //= %= **=
(4)成员运算符:  in 和 not in (针对于容器型数据)
(5)身份运算符:  is 和 is not (检测两个数据在内存当中是否是同一个值)
(6)逻辑运算符:  and or not
(7)位运算符:    & | ~ ^ << >>

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • python接口,继承,重载运算符详解

    目录 1. 序列__getitem__ 2. __setitem__ 3. 抽象基类 4. 不要直接子类化内置类型 5. 继承顺序 6. 重载运算符 总结 1. 序列__getitem__ 如果没有 __iter__ 和 __contains__ 方法, Python 会调用 __getitem__ 方法, 设法让 迭代 和 in 运算符可用 class Foo: def __getitem__(self, pos): return range(0, 30, 10)[pos] f = Foo()

  • python注释和运算符详解

    目录 1.多文件项目演练 2.注释(解释器不会解释#右侧内容) 2.1单行注释(行注释) 2.2多行注释(块注释) 3.算术运算符 3.1运算符 3.2优先级 总结 1.多文件项目演练 在day02下创建两个python文件 先点中一个文件,右键运行:右上角会出现文件框: 运行第二个文件,步骤也同样如此: 删除输出框内容 2.注释(解释器不会解释#右侧内容) 2.1单行注释(行注释) #号后跟个空格,就不会有语法错误 # 这是第一个注释 print("hello world") # 这

  • Python全栈之运算符详解

    目录 1. 算数_比较_赋值_成员 1.1 算数运算符 1.2 比较运算符 1.3 赋值运算符 1.4 成员运算符 2. 身份运算符 小提示: 3. 逻辑运算符 3.1 位运算符 3.2 小总结 4. 代码块_单项_双项分支 4.1 代码块 4.2 流程控制 4.3 单项分支 4.4 双项分支 5. 小作业 总结 1. 算数_比较_赋值_成员 1.1 算数运算符 算数运算符: + - * / // % ** # + var1 = 7 var2 = 90 res = var1 + var2 pri

  • Python学习之运算符号

    目录 1.算数运算符: 2.赋值运算符: 3.比较运算符 4.逻辑运算符 5. 成员运算符 总结 大至分为以下5类运算符号 算数运算符 赋值运算符 比较运算符 逻辑运算符 成员运算符 算数运算符 和 赋值运算符 运算是得到真实的结果 比较运算符 逻辑运算符 和 成员运算符 运算得到的 是布尔值 真True 或 假False 1.算数运算符: +          加          -          减          *          乘          /          除

  • python基础之基本运算符

    目录 Python基本运算符 算数运算符 比较运算符 逻辑运算符 赋值运算符 总结 Python基本运算符 算数运算符 # + - * / % ** // 算数运算符 # 定义如下运算符 a=7 b=3 print(a+b) print(a-b) print(a*b) print(a/b) print(a%b) print(a//b) # 地板除,相除取整,也可进行复合运算 比较运算符 # == != < > >= <= 比较运算符 a,b=10,5 print(a==b) pri

  • Python算术运算符实例详解

    Python算术运算符 以下假设变量a为10,变量b为20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 / 除 - x除以y b / a 输出结果 2 % 取模 - 返回除法的余数 b % a 输出结果 0 ** 幂 - 返回x的y次幂 a**b 输出结果 20 // 取整除 - 返回商的整数部分 9//2

  • Python的运算符重载详解

    一.前言 运算符重载:为运算符定义方法 所谓重载,就是赋予新的含义同一个运算符可以有不同的功能 二.重载作用 让自定义的实例像内建对象一样进行运算符操作让程序简介易读对自定义对象将运算符赋予新的规则 运算符和特殊方法 运算符重载 # @function:运算符重载 # @Description: 一只萤火虫 class MyInteger: """ 创建一个自定义的整数类型 """ def __init__(self, data=0): # 1.

  • python not运算符的实例用法

    说明 1.not逻辑非,可以对符号右侧的值进行非运算. 2.对于布尔值,非运算会对其进行取反操作,True变False,False变True. 对于非布尔值,非运算会先将其转换为布尔值,然后再取反. 空性值为False,其他为True. 实例 a = True # 如果表达式不赋值.不会对变量a有任何影响, # 只是创建了一个新对象存储了结果, # 同数据类型转换所讲的 not a # 对变量a赋值之后,表达是结果才影响变量a. a = not a print(f"a = {a}")

  • python字符串运算符详情

    知识点:字符串 在编程里,用的最多的就是字符串,字符串同时也是各类数据的中转站 ​字符串运算符:​ 编号 运算符类型 说明 1 + 字符串拼接 2 * 同一字符串多次输出 3 [] 通过下标获取字符串其中一个字符 ​代码如下:​ #!/usr/bin/python3 # -*- coding: utf-8 -*- import random # 字符串连接运算 myStr_a1='51' myStr_a2='cto' myStr=myStr_a1+myStr_a2 print('字符串:'+my

  • Python 海象运算符( :=)的三种用法

    目录 前言 While 循环 列表理解 处理返回的数据 总结 前言 随着Python 3.8的发布,赋值表达式运算符(也称为海象运算符)也发布了.运算符使值的赋值可以传递到表达式中.这通常会使语句数减少一个. 例如: my_list = [1,2,3] count = len(my_list) if count > 3: print(f"Error, {count} is too many items") # when converting to walrus operator.

  • Python海象运算符的用法教程

    目录 前言 语法 用法 用于 if-else 条件表达式 用于 while 循环 读取文件 不适用场景 变量赋值 加减法 Lambda函数中的赋值表达式 争议 关键字 运算符名称 总结 前言 大家好,我是闲欢,你们的老相识呀! 海象可谓是最大的哺乳动物了,有人称它是北半球的“土著”居民.它圆头,短而阔的嘴巴,粗大的鼻子,上犬齿形成长达40厘米-90厘米的獠牙,每只4公斤以上.雄海象体长可达4米,重2吨.海象喜群居,数千头簇拥在一起. 海象两眼眯得像缺乏活力的老头子,它们爱睡懒觉,一生中大多时间是

  • Python海象运算符超详细讲解

    目录 介绍 语法 用法 if 语句 while 循环 while 循环逐行读取文件 while 循环验证输入 推导式 三元表达式 总结 介绍 海象运算符,即 := ,在 PEP 572 中被提出,并在 Python3.8 版本中发布. 海象运算符的英文原名叫Assignment Expresions,即赋值表达式. 它由一个冒号:和一个等号=组成,即:=.而它被称作walrus operator(海象运算符),是因为它长得像一只海象. 语法 海象运算符的语法格式如下: variable_name

  • 讲解Python中运算符使用时的优先级

    运算符优先级来确定条件的表达式中的分组.这会影响一个表达式如何计算.某些运算符的优先级高于其他;例如,乘法运算符的优先级比加法运算更高. 例如x=7 + 3* 2;这里,x被赋值13,而不是20,因为运算符*的优先级比+更高,所以它首先乘以3 * 2,然后加7. 这里,具有最高优先级运算符出现在表格上方,那些最低的显示在底部.在一个表达式,更高的优先级运算符将首先计算. 例如: 试试下面的例子来理解Python编程语言可供选择的运算符优先级: #!/usr/bin/python a = 20 b

  • python三元运算符实现方法

    这是今天在温习lambda表达式的时候想到的问题,众所周知C系列语言中的 三元运算符(?:)是一个非常好用的语句, 关于C中的三元运算符 表达式1?表达式2:表达式3 那么在python应该如何实现呢,请看下面例子: 答案是:X = (表达式1)and 表达式2(真值返回)or 表达式3(假值返回) 举个例子: 复制代码 代码如下: def main():    y = 5    x = (y > 5) and 2 or 4    print x    pass 这段代码的是意思的输出是4,可以

  • Python中运算符"=="和"is"的详解

    前言 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识).python type()(数据类型)和value(值).is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同.下面来看看具体区别在哪. Python中比较两个对象是否相等,一共有两种方法,简单来说,它们的区别如下: is是比较两个引用是否指向了同一个对象(引用比较). ==是比较两个对象是否相等. >>> a = [1, 2, 3] >>&g

随机推荐