零基础学Python--操作符

作者: Q科技 | 来源:发表于2019-03-20 20:57 被阅读0次

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

    一般来说,我们一条语句由操作符和操作数组成。比如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 = a

    c = ['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的基础上进入到人工智能的领域,尤其是深度学习,其实它已经很简单,大家都能学会!

    人工智能与深度学习做量化请关注:AI量化(https://t.zsxq.com/RvfY37y) 星球限时免费,如需加入,请私信我获得免费邀请码!

    零基础学习Python与深度学习应用请关注星球:Python与深度学习 https://t.zsxq.com/bUFayZ3

    微信公众号:QTechAI

    相关文章

      网友评论

        本文标题:零基础学Python--操作符

        本文链接:https://www.haomeiwen.com/subject/zyhxvqtx.html