三. 运算、数据及逻辑

1.算数运算符

​ 变量a为10,变量b为21:

运算符

描述

实例

+

两个对象相加

a+b = 31

-

得到负数或者减去另一个数

a-b = -11

*

两个字相乘得到的返回值,或者是一个序列重复若干次输出

a*b = 210

/

除法运算,默认得到浮点结果,注意格式化输出

b/a = 2.1

%

取模运算

b%a = 1

**

返回x的y次幂u

a**b 结果为10的21次幂

//

整除,返回商的整数部分

a//b = 2

对应的赋值运算符:

运算符

描述

实例

=

简单的赋值运算符

c = a + b 将 a + b 的运算结果赋值为 c

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c = a 等效于 c = c a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c = a 等效于 c = c a

//=

取整除赋值运算符

c //= a 等效于 c = c // a

a = 21
b = 10
c = 0

c = a + b
print ("1 - c 的值为:", c)

c += a
print ("2 - c 的值为:", c)

c *= a
print ("3 - c 的值为:", c)

c /= a 
print ("4 - c 的值为:", c)

c = 2
c %= a
print ("5 - c 的值为:", c)

c **= a
print ("6 - c 的值为:", c)

c //= a
print ("7 - c 的值为:", c)

输出结果:

1 - c 的值为: 31
2 - c 的值为: 52
3 - c 的值为: 1092
4 - c 的值为: 52.0
5 - c 的值为: 2
6 - c 的值为: 2097152
7 - c 的值为: 99864

2.python的位运算符

     python的位运算符是把数字当做二进制数来运算的,数字可以以任一进制输入,但是进行位运算时以二进制形式。注意默认输出是以十进制形式,进行输出时,可以采用以下函数:
bin()    采用二进制
oct()    八进制
hex()    十六进制


输入时:
2 进制是以 0b 开头的: 例如: 0b11 则表示十进制的 3
8 进制是以 0o 开头的: 例如: 0o11 则表示十进制的 9
16 进制是以 0x 开头的: 例如: 0x11 则表示十进制的 17

运算符

描述

&

按位与运算符: 参与运算的两个值每一位进行“与运算”,得到结果以二进制表示</br >

|

按位或运算符: 每一位进行逻辑或运算,即二个位置中有1即为1

^

按位异或逻辑符: 对应位置不同时结果相应位置为1

~

按位取反逻辑符: 对数据的每个位二进制位取反,~x 类似于 -x-1

<<

左移逻辑符: 进行左移操作,右边参数为左移位数,每左移一位,数值扩大二倍

>>

右移逻辑运算符: 进行右移操作,每右移一位,原数值相当于缩小一半

3.逻辑运算符、成员及身份运算符

1)逻辑运算符

    逻辑运算符包括 and or not
    运算规则如下:
        x and y:
            if x==false   return false;
            else    return y;
        x or y:
            if x==true    return x;
            else    return y;
        not x:
            return -x

注意:

x和y可以是字符串对象或者数字,其中0和“”为假,其他为真。逻辑运算符可以连接多个对象,则and返回值为第一个为假的值,若所有只为真则返回最后一个值;or返回第一个为真的的值,所有值为假则返回最后一值,即逻辑运算需要遍历参加运算的每一个对象

2)成员运算符

in:    若在指定序列中找到该值则返回True  否则返回False
not in:与in作用相反

3)身份运算符

is:判断两个标识符是否是同一对象的引用,是则返回True
not is:---
函数id() 用于获取对象的内存地址,is 的用法x is y与id(x) == id(y)方式等价

is与==的区别:
    is用于判断是否是同一对象的不同引用,而==用于比较对象的值是否相等

python具有intern机制在交互式环境中,会有一个小整数池对象,将[-5,256]这些整数对象,提前分配好空间,所有位于这个范围的引用公用一个对象,所以会出现:
    a = 7; b = 7
    (a is b) == True

Last updated