龙空技术网

零基础学Python--操作符

人工智能机器人小葵 214

前言:

此时各位老铁们对“python操作符”都比较讲究,大家都需要分析一些“python操作符”的相关知识。那么小编同时在网摘上网罗了一些对于“python操作符””的相关知识,希望兄弟们能喜欢,看官们一起来学习一下吧!

在这一个系列的文章里,我尽可能的覆盖更多的读者。所以可能对于一些读者来说,可能内容会过于简单,但是也一定会保证整篇文章有可读性,也就是说对于这些有一定基础的同学来说,也会能学到一些知识点。话不多说,带大家来了解操作符。

一般来说,我们一条语句由操作符和操作数组成。比如a = 2 + 1这条语句中“=”和“+”就是操作符,而“2”和“1”则为操作数。

我们来看一下Python里有哪一些操作符,基本上Python里的操作符可分为如下几类。

算术操作符

比较操作符

赋值操作符

逻辑操作符

位操作符

成员操作符

身份操作符

这些操作符基本上贯穿在Python的程序里,不像一些其他的语言,某些操作符使用的频率比较低,基本上Python的这些操作符都是我们会经常用到的,从这点上来讲,Python是非常的实用主义,下面我们分别来看看每一种操作符。

算术操作符

算术操作符其实比较简单,下面列出操作符、解释以及示例。

a = 2, b = 7

+ 操作符左右两边相加 a+b=9

- 操作符的左边减右边 a–b=-5

* 操作符的两边做乘法 a*b=14

/ 操作符左边除以右边 b/a=3.5

% 操作符左对右取余数 b%a=1

** 操作符左边的右次幂 a**b=128

// 操作符左除以右取整 b//a=3

比较操作符

比较操作符也叫关系操作符,它比较操作符两端的操作数,决定它们之间的关系。接下来也来列一下比较运算符。

a = 2, b = 7

== 左右相等返回为真 (a==b)返回False

!= 左右不等返回为真 (a!=b)返回True

> 左大于右返回为真 (a>b)返回False

< 左小于右返回为真 (a<b)返回True

>= 左大于等于右为真 (a>=b)返回False

<= 左小于等于右为真 (a<=b)返回True

赋值操作符

我们继续来看赋值操作符的列表。

仍然假定 a = 2, b = 7

= 右边的结果赋值给左边 c=a+b结果为9

+= 左边加右边后赋给左边 b+=a结果为9

-= 左边减右边后赋给左边 b-=a的结果为5

*= 左边乘右边后赋给左边 b*=a结果为14

/= 左边除以右边赋给左边 b/=a结果为3.5

%= 左边对右边取余给左边 b%=a结果为1

**= 左边的右次幂赋给左边 b**=a结果为49

//= 左除以右取整赋给左边 b//=a结果为3

位操作符

假设a = 2和b = 7是以二进制的形式来表示的,如下:

a = 0000 0010

b = 0000 0111

位操作符都是按每一个二进制位来运算的。我们接下来列出位操作符和其解释,为方便大家理解我们将结果表示为二进制的形式:

& 按位与 两边为1则结果为1 a&b=00000010

| 按位或 一个为1则结果为1 a|b=00000111

^ 位异或 两边不同则结果为1 a^b=00000101

~ 位取反 按位取为原值的反值 ~a=11111101

<< 左移 将所有位左移 a<<2=00001000

>> 右移 将所有位右移 a>>2=00000000

逻辑操作符

逻辑操作符其实和位操作符的基本逻辑是一样的,但是它的结果只返回True和False。

我们仍然假定a = 2, b = 7。

and 逻辑与 左右都为真时结果为真 (a>2) and (b>2)结果为False

or 逻辑或 左右有一个为真结果为真 (a>2) and (b>2)结果为True

not 逻辑非 原值为False则结果为True not (a>2)结果为True

成员操作符

这个其实也非常的常用,我们在使用列表、元组和字典的时候,如果我们想知道一个成员是否在列表、元组或者字典中,那么我们就可以用成员操作符。

成员操作符有:

in 在序列中找到了则为True

not in 在序列中未找到则为False

下面我们来看一下具体的例子:

a = 'string1'b = ['string1', 'string2', 'string3']if a in b: print(a, ' is in ', b)else: print(a, ' is not in ', b)

同样在元组和字典中,也可以非常方便的使用成员操作符。实际在写Python程序的时候,这可是用的非常之多的。

身份操作符

看起来这是一个有身份的操作符,不,它只是一个有身份证的操作符。

is 如果两边的东西指向同一个东西则为True

is not 如果两边的东西不指向同一个东西则为True

我们来看两个例子吧:

a = ['a', 'b', 'c']b = ac = ['a', 'b', 'c']if b is a: print('b is a!')else: print('b is not a!')if c is a: print('c is a!')else: print('c is not a!')

我们会发现其运行结果为:

b is a!

c is not a!

事实上,虽然c和a是相同的,但是它们在内存中并不指向同一地址,也就是说它不是同一个东西。那么现在大家应该明白is和is not的用法了,它们要求左右两边事实上就是一个东西。

操作符的优先级

1 ** 幂操作符

2 ~ + - 按位取反和一元加减操作符

3 * / % // 乘除取余和整除

4 + - 加减操作符

5 >> << 左移和右移

6 & 按位与

7 ^ | 异或和按位或

8 <= < > >= 除了等于和不等于外的比较操作符

9 == != 等于和不等于

10 = %= /= //= -= += *= **= 赋值操作符

11 is is not 身份操作符

12 in not in 成员操作符

13 not or and 逻辑操作符

到这里,我们基本上对所有的操作符有了一个认识,其实也很简单,大家动手运行一下就有感觉了,很多书里会把operators翻译成运算符,一是由于我在学习计算机科学知识的时候没怎么读过中文版的书籍,二是在基于英文原本的意思来说我更倾向于翻译为操作符。不习惯之处,还请包涵!接下来我们会继续这个Python的基础系列,旨在影响和帮助无基础或者跨行业的人群学习Python,后续的目标其实是让大家能够在掌握了Python的基础上进入到人工智能的领域,尤其是深度学习,其实它已经很简单,大家都能学会!

标签: #python操作符 #python 操作符优先级