python中常见的运算符及用法实例

目录
  • 前言
  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 成员运算符
  • 身份运算符
  • 三目运算符
  • 运算符优先级
  • 总结

前言

python中的运算符主要包括算术运算符,关系(比较)运算符,赋值运算符,逻辑运算符,成员运算符,身份运算符,三目运算符。使用运算符将不同类型的数据按照一定的规则连接起来的式子,称为表达式。下面将介绍一些常用的运算符

算术运算符

运算符 描述
+ 两个数相加两个数相加,或是字符串连接
- 两个数相减
* 两个数相乘,或是返回一个重复若干次的字符串
/ 两个数相除,结果为浮点数
% 取模,返回两个数相除的余数
// 两个数相除,返回商的整数部分
** 幂运算,返回乘方结果
print(1 + 2)  # 3
print(2 - 1)  # 1
print(2 * 3)  # 6
print(3 / 2)  # 1.5
print(6 % 5)  # 1
print(8 // 2)  # 4
print(3 ** 2)  # 9

如果想同时得到商和余数,可以用divmod这个方法

该方法的返回值是tuple (x//y, x%y).

print(divmod(10,3)) # (3,1)

因为浮点数精度的问题,Python还存在一些计算方面的小问题

print(0.1+0.1+0.1-0.3)  # 5.551115123125783e-17

要解决这个问题,可以导入decimal模块

from decimal import Decimal
# 计算结果:0.0
print(Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3'))

关系运算符

运算符 描述
== 比较对象是否相等
!= 比较对象是否不相等
> 大于,例如a>b,将比较a与b的大小,a>b返回True,否则返回False
< 小于,例如a<b,将比较a与b的大小,a<b返回True,否则返回False
>= 大于等于,例如a>=b,将比较a与b的大小,a>=b返回True,否则返回False
<= 小于等于,例如a<=b,将比较a与b的大小,a<=b返回True,否则返回False
a = 10
b = 20
print(a == b)  # False
print(a != b)  # True
print(a > b)  # False
print(a < b)  # True
print(a >= b)  # False
print(a <= b)  # True

1.返回值为bool值

print(True == 1)  # True
print(False == 0)  # True

==比较数值(int与str不能直接比较)

print(2.0 == 2)  # True
print('2' == 2)  # False

字符串与字符串之间是比较ASCII值

# True
print('abc' < 'xyz') # 97 98 99 < 120 121 122

连续比较,python的解释机制

print(3 > 2 > 1)  # True
print(3 > 2 > 2)  # False
print((3 > 2) > 1) # False
运算符 描述
= 常规赋值运算符,将运算结果赋值给变量
+= 加法赋值运算符,例如 a+=b 等效于 a=a+b
-= 减法赋值运算符,例如 a-=b 等效于 a=a-b
*= 乘法法赋值运算符,例如 a*=b 等效于 a=a*b
/= 除法赋值运算符,例如 a/=b 等效于 a=a/b
//= 取整除赋值运算符,例如 a//=b 等效于 a=a//b
%= 取模赋值运算符,例如 a%=b 等效于 a=a%b
**= 幂运算赋值运算符,例如 a**=b 等效于 a=a*b
a = 1       # 将等号右边 赋值 等号左边
a = a + 1   # 先等号右边计算 再赋值给 等号左边
a += 1        # a = a + 1

逻辑运算符

运算符 描述
and 与运算,如果a 为False,a and b返回False 否则返回y的计算值
or 或运算,如果a非0,返回a的值,否则返回b的值
not 非运算,如果a为True,返回False,如果a为False,返回True
a = 10
b = 20
print(a and b)  # 20
print(a or b)  # 10
print(not a)  # False

a and b 两者都为True时结果才为True

a or b 两者有一个为True则结果就为True

短路(懒惰)原则

False and True 当and运算符时,遇到第一个为False则不会往后了
True or False 当or运算符时,遇到第一个为True则不会往后了

成员运算符

运算符 描述
in 如果在指定的序列中找到值返回True,否则返回False
not in 如果在指定的序列中找到值返回True,否则返回False
list1 = [1, 2, 3, 4, 5]
a = 1
if a in list1:
    print("a是list1的元素之一")
else:
    print("a不是list1的元素")

身份运算符

运算符 描述
is 判断两个标识符是不是引用自一个对象
is not判断两个标识符是不是引用自不同对象  

is 和比较运算符 == 的区别

is 用于判断两个变量是否引自同一个对象(可使用id()查看),而 ==用于判断变量的值是否相等!

a = [1, 2, 3]
b = [1, 2, 3]
# 可通过id()查看内存地址
print(id(a))  # 2042443551304
print(id(b))  # 2042443551816
print(a is b)  # False
print(a == b)  # True
a = 2
b = 2.0
# 可通过id()查看内存地址
print(id(a))  # 140722443350320
print(id(b))  # 2336678499216
print(a is b)  # False
print(a == b)  # True

三目运算符

三目运算符的表示方法:True_statements if expression else False_statements

a = 1
b = 2
# a+b不大于3执行后面的else语句 b-a = 1
print(a+b if a+b>3 else b-a)

运算符优先级

运算符 描述
** 指数(最高优先级)
*/%// 乘,除,取模和取整除
± 加法减法
<= >= 比较运算符
== != 等于运算符
= %= 、= 、、=-= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

总结

到此这篇关于python中常见的运算符及用法的文章就介绍到这了,更多相关python运算符及用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详细介绍Python语言中的按位运算符

    按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下: 按位与   ( bitwise and of x and y ) &  举例: 5&3 = 1  解释: 101  11 相同位仅为个位1 ,故结果为 1 按位或   ( bitwise or of x and y ) |  举例: 5|3 = 7  解释: 101  11 出现1的位是 1 1 1,故结果为 111 按位异或 ( bitwise exclusive or of x and y ) ^  举例:

  • 总结Python中逻辑运算符的使用

    下表列出了所有Python语言支持的逻辑运算符.假设变量a持有10和变量b持有20,则: 示例: 试试下面的例子就明白了所有的Python编程语言提供了逻辑运算符: #!/usr/bin/python a = 10 b = 20 c = 0 if ( a and b ): print "Line 1 - a and b are true" else: print "Line 1 - Either a is not true or b is not true" if

  • Python入门学习之字符串与比较运算符

    Python字符串 字符串或串(String)是由数字.字母.下划线组成的一串字符. 一般记为 : s="a1a2···an"(n>=0) 它是编程语言中表示文本的数据类型. python的字串列表有2种取值顺序: 从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头 如果你的实要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. 比如:

  • Python的条件语句与运算符优先级详解

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句-- else: 执行语句-- 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. el

  • 简单了解python中对象的取反运算符

    取反运算符的原理: 1.对3取反:(取4位二进制) ①化为二进制: 3→0011 ②对二进制结果取反: 0011→1100 ③对结果先取反再加1: 1100→(~1100+1)→0011+1→0100 ④对符号取反并化为十进制: -0100→-4 2.对-4取反: ①化为二进制: 4→0100 ②对二进制结果取反: 0100→1011 ③对结果先加1再取反: 1011→~(1011+1)→ ~1100→0011 ④对符号取反并化为十进制: +0011→3 3.从结果来说: 取反结果为:原数+1再

  • python的三目运算符和not in运算符使用示例

    三目运算符也就是三元运算符 一些语言(如Java)的三元表达式形如: 判定条件?为真时的结果:为假时的结果 result=x if x Python的三元表达式有如下几种书写方法: if __name__ == '__main__': a = '' b = 'True' c = 'False' #方法一:为真时的结果 if 判定条件 else 为假时的结果 d = b if a else c print('方法一输出结果:' + d) #方法二:判定条件 and 为真时的结果 or 为假时的结果

  • Python语言技巧之三元运算符使用介绍

    python不支持C/C++中的三元操作符 ?:,替代的方法是 ...if... else...举例,用下面的语法实现求三个数的最小值.nD1 if nD1 < ( nD2 if nD2<nD3 else nD3) else (nD2 if nD2 < nD3 else nD3) python三元运算符的正确方法 因为下周要用php写项目,所以周末在家里重新看php的语法,看到三元描述符,突然想起来python是没有三元描述符的,印象中依稀记得有模拟的实现,于是上网上搜了一下. (对应C

  • python取余运算符知识点详解

    python取余运算符是什么? python取余运算符是%,即表示取模,返回除法的余数. 假设变量: a=10,b=20: 那么b % a 输出结果 0 注: Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 python 取整与取余规则 1)  //运算取整时保留整数的下界,即偏向于较小的整数 2)      int是剪去小数部分,只保留前面的整数 3)   round函数遵循四舍五入的法则 >>&

  • Python正确重载运算符的方法示例详解

    前言 说到运算符重载相信大家都不陌生,运算符重载的作用是让用户定义的对象使用中缀运算符(如 + 和 |)或一元运算符(如 - 和 ~).说得宽泛一些,在 Python 中,函数调用(()).属性访问(.)和元素访问 / 切片([])也是运算符. 我们为 Vector 类简略实现了几个运算符.__add__ 和 __mul__ 方法是为了展示如何使用特殊方法重载运算符,不过有些小问题被我们忽视了.此外,我们定义的Vector2d.__eq__ 方法认为 Vector(3, 4) == [3, 4]

  • 解析Python中的二进制位运算符

    下表列出了所有的Python语言的支持位运算符.假设变量a持有60和变量b持有13,则: 示例: 试试下面的例子就明白了所有的Python编程语言提供了位运算符: #!/usr/bin/python a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print "Line 1 - Value of c is ", c c = a | b; # 61 = 0011 1

随机推荐