Python运算符是否只有加减乘除?

数学法中的加减乘除,是运算符,但Python的运算符更加多样和复杂,分为算术运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符。为更加直观地了解运算符的用法,本文采用代码与注解相结合的方法。

算术运算符

a = 21b = 10c = 0# 加c = a + b  # 31# 减c = a - b  # 11# 乘c = a * b  # 210# 除c = a / b  # 2.1# 求余数c = a % b  # 1# 幂(次方)a = 2b = 3c = a**b  # 8# 取整数,向下取接近商的整数c = 9//2  # 4c = -9//2  # -5123456789101112131415161718192021222324252627复制代码类型:[python]

比较运算符

代码中的if...else...是指“如果,满足条件,做什么事,否则,做其他事”。

# 不等于if ( a != b ):
   print("a 不等于 b")else:
   print("a 等于 b")# 小于if ( a < b ):
   print("a 小于 b")else:
   print("a 大于等于 b")# 大于if ( a > b ):
   print("a 大于 b")else:
   print("a 小于等于 b")

a = 5b = 20# 小于等于if ( a <= b ):
   print("a 小于等于 b")else:
   print("a 大于  b")# 大于等于if ( b >= a ):
   print("b 大于等于 a")else:
   print("b 小于 a")1234567891011121314151617181920212223242526272829303132复制代码类型:[python]

赋值运算符

=是赋值运算符,算术运算符都可以右边加上=变成“算术赋值”运算符。

a = 21b = 10c = 0# 简单的赋值c = a + b  # 31# 等价于 c = c + ac += a  # 52# 等价于 c = c - ac -= a  # 31# 等价于 c = c * ac *= a  # 651# 等价于 c = c / ac /= a  # 31.0
 c = 2# 等价于 c = c % ac %= a  # 2# 等价于 c = c ** ac **= a  # 2097152# 等价于 c = c // ac //= a  # 9986412345678910111213141516171819202122232425262728复制代码类型:[python]

Python3.8新增了海象运算符:=,可以在表达式内部为变量赋值:

if (n := len(a)) > 10:
 print(f"List is too long ({n} elements, expected <= 10)")12复制代码类型:[python]

位运算符

我们常见的数字是十进制的,十进制可以转换为01形式的二进制,例如60的转换为二进制后变成了00111100。位运算符就是把数字看作二进制来进行计算。

a = 60   # 60 = 0011 1100 b = 13   # 13 = 0000 1101 c = 0# 与,两个值都为1,结果为1,否则为0c = a & b  # 12 = 0000 1100# 或,两个值有一个为1,结果就为1c = a | b  # 61 = 0011 1101 # 异或,两个值不同,结果为1c = a ^ b  # 49 = 0011 0001# 取反,0变成1,1变成0c = ~a  # -61 = 1100 0011# 左移,高位丢弃,低位补0c = a << 2 # 240 = 1111 0000# 右移,低位丢弃,高位补0c = a >> 2 # 15 = 0000 1111123456789101112131415161718192021复制代码类型:[python]

逻辑运算符

经常用在判断条件里面,判断条件为True/False。

a = 10b = 20# 布尔“与”,2个值都为True,结果为Trueif ( a and b ):
   print("变量 a 和 b 都为 true")else:
   print("变量 a 和 b 有一个不为 true")# 布尔“或”,只要有一个为True,结果就为Trueif ( a or b ):
   print("变量 a 和 b 都为 true,或其中一个变量为 true")else:
   print("变量 a 和 b 都不为 true")
# 修改变量 a 的值a = 0if ( a and b ):
   print("变量 a 和 b 都为 true")else:
   print("变量 a 和 b 有一个不为 true")
if ( a or b ):
   print("变量 a 和 b 都为 true,或其中一个变量为 true")else:
   print("变量 a 和 b 都不为 true")
if not( a and b ):
   print("变量 a 和 b 都为 false,或其中一个变量为 false")else:
   print("变量 a 和 b 都为 true")12345678910111213141516171819202122232425262728293031复制代码类型:[python]

注意,逻辑运算符是从左到右依次运算的,只要不符合条件就不会继续运算,比如and,只要出现了False,就会停止运算,结果直接判定为False。比如or,只要出现了True,就会停止运算,结果直接判定为True。

成员运算符

成员是指字符串、列表、元组等系列中的元素,成员运算符用于判断元素是否在系列里面。

a = 10b = 20list = [1, 2, 3, 4, 5 ]# in 在里面if ( a in list ):
   print("变量 a 在给定的列表中 list 中")else:
   print("变量 a 不在给定的列表中 list 中")# not in 不在里面if ( b not in list ):
   print("变量 b 不在给定的列表中 list 中")else:
   print("变量 b 在给定的列表中 list 中")123456789101112131415复制代码类型:[python]

身份运算符

Python里面的对象其实都有一个内存地址,可以使用id()函数来获取,身份就是指的内存地址。

a = 20b = a
if ( a is b ):
   print("a 和 b 有相同的标识")  # 结果else:
   print("a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
   print("a 和 b 有相同的标识")  # 结果else:
   print("a 和 b 没有相同的标识")
# 修改变量 b 的值b = 30if ( a is b ):
   print("a 和 b 有相同的标识")else:
   print("a 和 b 没有相同的标识")  # 结果
 if ( a is not b ):
   print("a 和 b 没有相同的标识")  # 结果else:
   print("a 和 b 有相同的标识")123456789101112131415161718192021222324复制代码类型:[python]

我们在前面知道==是可以判断变量是否相等的,注意,==判断的是值是否相等,is判断的是引用(内存地址)是否相等。

运算符优先级

不用刻意记优先级,实际编码时请尽情滥用小括号(),防止优先级算错。

(0)

相关推荐

  • 实现更好编码的 30 个神奇的 Python 技巧

    本文提供了 30 个 Python 技巧,可以将你的逻辑变成更优雅的代码. Python 因其代码的简单性和可读性,在其他编程语言中相当受欢迎.它是最简单的编程语言之一,可以作为你的第一门语言.如果你 ...

  • python条件判断语句

    python输入语句 大家已经练习完了输出之后呢,我们来继续看一下输入语句的用法 input 后面加上提示输入的语句,就可以获取用户输入的语句 举个小例子: 我们输入123456后按回车,即可成功输入 ...

  • python基础语法学习笔记

    学习来源:https://www.bilibili.com/video/BV1Vt411z7Kg?p=11 一.变量是什么? 变量来源于数学,是计算机语言中,能储存计算结果,或能表示值抽象的概念.变量 ...

  • 【蓝桥杯】【入门题】【算法提高VIP】1480:模拟计算器

    题目 1480:模拟计算器 蓝桥杯刷题群已成立,微信后台回复[蓝桥杯],即可进入. 如果加入了之前的社群不需要重复加入. 时间限制: 1Sec 内存限制: 128MB 1. 题目描述 使用Switch ...

  • Python运算符分为哪些?这几类最常见!

    说起Python运算符,相信很多人都听说过,但对它的了解并不是很多,甚至不知道它有哪些分类,接下来跟着小编一起来看看吧. Python中运算符是一种特殊的符号,用以表示数据的运算.赋值和比较等. 运算 ...

  • 第四课:Python运算符大全与pycharm常用快捷键合集!

    pycharm中常用的快捷键 1.Ctrl+c复制 2.Ctrl+v粘贴 3.Ctrl+d直接将本行复制粘贴至下一行 4.Ctrl+/(?)注释(被注释的代码将无法被运行,跟被删掉差不多,但代码依然保 ...

  • Python 运算符 | 菜鸟教程

    什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 .例子中,4 和 5 被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算符 ...

  • Python 运算符重载

    https://www.cnblogs.com/hotbaby/p/4913363.htmlPython 运算符重载构造函数与表达式: __init__, __sub__ 常见运算符重载方法metho ...

  • RealPython 基础教程:Python 运算符和表达式

    " 运算是程序的基本功能,而运算符和表达式则是最基本的运算单元" 在了解了不同类型的变量之后,我们现在该用这些变量做点什么了. 今天,我们将了解如何在变量上执行计算.你最终将会掌握 ...

  • Python运算符及优先级顺序

    来自:https://www.cnblogs.com/hepeilinnow/p/9737590.htmlPython语言是一门脚本语言,支持面向对象.面向过程编程,兼具编译性和解释性的动态语言,整理 ...

  • Python运算符优先级和结合性一览表

    优先级和结合性是Python表达式中比较重要的两个概念,它们决定了先执行表达式中的哪一部分. Python运算符优先级 所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符. 例如对 ...

  • Python有哪些运算符?用法介绍!

    众所周知,编程语言的本质就是解决运算逻辑,包括Python也是如此,它可以通过各种算法实现想要的功能;当然,我们也必须搞懂各类运算符的使用,那么Python有哪些运算符呢?它的使用方法是什么?我们来看 ...

  • #PY小贴士# 别弄错了 Python 里的这几个运算符

    有人问过这样的问题: 为什么我求圆的面积,结果不对? r = 10s = 3.14 * (r ^ 2)print(s) 还有人问过这样的问题: 为什么判断两个并列条件时结果不对? a = 6if a ...