Python基本运算符

什么是操作符?

简单的回答可以使用表达式4 + 5等于9,在这里4和5被称为操作数,+被称为操符。 Python语言支持操作者有以下几种类型。

  • 算术运算符
  • 比较(即关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 会员操作符
  • 标识操作符

让我们逐一看看所有的运算符。

Python算术运算符:

假设变量a持有10和变量b持有20,则:

[ 查看示例 ]

操作符

描述符

例子

+

加法 - 对操作符的两侧增加值

a + b = 30

-

减法 - 减去从左侧操作数右侧操作数

a - b = -10

*

乘法 - 相乘的运算符两侧的值

a * b = 200

/

除 - 由右侧操作数除以左侧操作数

b / a = 2

%

模 - 由右侧操作数和余返回除以左侧操作数

b % a = 0

**

指数- 执行对操作指数(幂)的计算

a**b = 10 的幂 20

//

地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商。

9//2 = 4 而 9.0//2.0 = 4.0

Python的比较操作符:

假设变量a持有10和变量b持有20,则:

[ 查看示例 ]

运算符

描述

示例

==

检查,两个操作数的值是否相等,如果是则条件变为真。

(a == b) 不为 true.

!=

检查两个操作数的值是否相等,如果值不相等,则条件变为真。

(a != b) 为 true.

<>

检查两个操作数的值是否相等,如果值不相等,则条件变为真。

(a <> b) 为 true。这个类似于 != 运算符

>

检查左操作数的值是否大于右操作数的值,如果是,则条件成立。

(a > b) 不为 true.

<

检查左操作数的值是否小于右操作数的值,如果是,则条件成立。

(a < b) 为 true.

>=

检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。

(a >= b) 不为 true.

<=

检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。

(a <= b) 为 true.

Python赋值运算符:

假设变量持有10和变量b持有20,则:

[ 示例 ]

运算符

描述

示例

=

简单的赋值运算符,赋值从右侧操作数左侧操作数

c = a + b将指定的值 a + b 到 c

+=

加法AND赋值操作符,它增加了右操作数左操作数和结果赋给左操作数

c += a 相当于 c = c + a

-=

减AND赋值操作符,它减去右边的操作数从左边操作数,并将结果赋给左操作数

c -= a 相当于 c = c - a

*=

乘法AND赋值操作符,它乘以右边的操作数与左操作数,并将结果赋给左操作数

c *= a 相当于 c = c * a

/=

除法AND赋值操作符,它把左操作数与正确的操作数,并将结果赋给左操作数

c /= a 相当于= c / a

%=

模量AND赋值操作符,它需要使用两个操作数的模量和分配结果左操作数

c %= a is equivalent to c = c % a

**=

指数AND赋值运算符,执行指数(功率)计算操作符和赋值给左操作数

c **= a 相当于 c = c ** a

//=

地板除,并分配一个值,执行地板除对操作和赋值给左操作数

c //= a 相当于 c = c // a

Python位运算符:

位运算符作用于位和位操作执行位。假设,如果a =60;且b =13;现在以二进制格式它们将如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

Python语言支持下位运算符

[ 示例 ]

操作符

描述

示例

&

二进制和复制操作了一下,结果,如果它存在于两个操作数。

(a & b) = 12 即 0000 1100

|

二进制或复制操作了一个比特,如果它存在一个操作数中。

(a | b) = 61 即 0011 1101

^

二进制异或运算符的副本,如果它被设置在一个操作数而不是两个比特。

(a ^ b) = 49 即 0011 0001

~

二进制的补运算符是一元的,并有“翻转”位的效果。

(~a ) = -61 即 1100 0011以2的补码形式由于带符号二进制数。

<<

二进位向左移位运算符。左操作数的值左移由右操作数指定的位数。

a << 2 = 240 即 1111 0000

>>

二进位向右移位运算符。左操作数的值是由右操作数指定的位数向右移动。

a >> 2 = 15 即 0000 1111

Python逻辑运算符:

Python语言支持以下逻辑运算符。假设变量a持有10和变量b持有20则:

[ 示例 ]

运算符

描述

示例

and

所谓逻辑与运算符。如果两个操作数都是真的,那么则条件成立。

(a and b) 为 true.

or

所谓逻辑OR运算符。如果有两个操作数都是非零然后再条件变为真。

(a or b) 为 true.

not

所谓逻辑非运算符。用于反转操作数的逻辑状态。如果一个条件为真,则逻辑非运算符将返回false。

not(a and b) 为 false.

Python成员运算符:

除了前面讨论的运算符,Python成员运算符,在一个序列中成员资格的测试,如字符串,列表或元组。有两个成员运算符解释如下:

[ 示例 ]

操作符

描述

示例

in

计算结果为true,如果它在指定找到变量的顺序,否则false。

x在y中,在这里产生一个1,如果x是序列y的成员。

not in

计算结果为true,如果它不找到在指定的变量顺序,否则为false。

x不在y中,这里产生结果不为1,如果x不是序列y的成员。

Python标识运算符:

标识符比较两个对象的内存位置。两个运算符标识解释如下:

[ 查看示例 ]

运算符

描述

例子

is

计算结果为true,如果操作符两侧的变量指向相同的对象,否则为false。

x是y,这里结果是1,如果id(x)的值为id(y)。

is not

计算结果为false,如果两侧的变量操作符指向相同的对象,否则为true。

x不为y,这里结果不是1,当id(x)不等于id(y)。

Python运算符优先级

下表列出了所有运算符从最高优先级到最低。

[ 查看示例 ]

运算符

描述

**

幂(提高到指数)

~ + -

补码,一元加号和减号(方法名的最后两个+@和 - @)

* / % //

乘,除,取模和地板除

+ -

加法和减法

>> <<

左,右按位转移

&

位'AND'

^ |

按位异'或`'和定期`或'

<= < > >=

比较运算符

<> == !=

等式运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

标识运算符

in not in

成员运算符

not or and

逻辑运算符

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏chenjx85的技术专栏

leetcode-151-翻转字符串里的单词

1、这道题给定一个字符串s,相当于一个英文句子,要求把这个句子中的单词反转一下,后面的要放在前面,前面放在后面。

88210
来自专栏我和PYTHON有个约会

10.程序编程基础4~变量&运算符

3.3 变量部分 3.4 运算符部分;主要讲解:赋值运算符、算数运算符、关系运算符、逻辑运算符、成员运算符、标识运算符

7210
来自专栏顶级程序员

一文读懂Python可迭代对象、迭代器和生成器

序列可以迭代的原因:iter 函数。解释器需要迭代对象 x 时,会自动调用 iter(x)。内置的 iter 函数有以下作用:

13430
来自专栏程序员的碎碎念

php Array数组知识总结

PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量...

72170
来自专栏编程

python的函数(一):基本概念

我们之前学了一些基础的过程语句,如if else、while、for。随着我们python程序的功能越来越复杂,代码也就越来越长,因此我们就需要用“函数”来简化...

20280
来自专栏ACM算法日常

leetcode 41| 缺失的第一个正数

难点分析:是不是和笔者一样,刚看完一遍题目都不知道它在问什么~经过多次揣摩之后,笔者终于懂了这道题目到底在问什么。其实它就是给定一个数组,然后看看数组中是否包含...

22020
来自专栏编程理解

排序算法(七):快速排序

快速排序是通过分治的方式,根据选定元素将待排序集合拆分为两个值域的子集合,并对子集合递归拆分,当拆分后的每个子集合中元素个数为一时,自然就是有序状态。

11730
来自专栏androidBlog

二分查找的相关算法题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/...

16310
来自专栏小樱的经验随笔

【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题

foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一...

28670
来自专栏Golang语言社区

【Go 语言社区】Go语言数组

Go编程语言提供称为数组的数据结构,其可存储相同类型的元素的一个固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。...

366150

扫码关注云+社区

领取腾讯云代金券