Python3运算符笔记

Python3算数运算符
a=10,b=21;
在这里插入图片描述
Python3比较运算符
在这里插入图片描述
Python3赋值运算符
在这里插入图片描述
Python3位运算符
按位运算符是把数字看作二进制来进行计算的。
下表中变量 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 = 10
b = 20

if a and b:
    print("1 - 变量 a 和 b 都为 true")
else:
    print("1 - 变量 a 和 b 有一个不为 true")

if a or b:
    print("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("2 - 变量 a 和 b 都不为 true")

# 修改变量 a 的值
a = 0
if a and b:
    print("3 - 变量 a 和 b 都为 true")
else:
    print("3 - 变量 a 和 b 有一个不为 true")

if a or b:
    print("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
    print("4 - 变量 a 和 b 都不为 true")

if not (a and b):
    print("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
    print("5 - 变量 a 和 b 都为 true")

运行结果:

1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false

Python成员运算符
在这里插入图片描述

Python身份运算符
在这里插入图片描述注: id() 函数用于获取对象内存地址。

is与==的本质上的区别:
is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。

#列表a=[1, 2, 3, 4, 5]
a = [1, 2, 3, 4, 5]
b = a
c = a[:]
print(a, id(a))
print(b, id(b))
print(c, id(c))

运行结果:

[1, 2, 3, 4, 5] 2464868622920
[1, 2, 3, 4, 5] 2464868622920
[1, 2, 3, 4, 5] 2464868622984

由上可见,=是引用地址,故a和b均指向同一地址,c是复制a的列表并另开辟了空间存储列表。

is和==在运行结果在交互模式下会有区别,脚本模式下结果相同(数值和地址均相同)。

交互模式下的is和==:
当执行a=3.1,b=3.1这两个语句时会先后为3.1这个Float类型对象分配内存,然后将a与b分别指向这两个对象。所以a与b指向的不是同一对象:

>>> a=3.1
>>> b=3.1
>>> a is b
False
>>> a == b
True

为了提高内存利用效率对于一些简单的对象,对于-5~256的int对象,python采取重用对象内存的办法,如指向a=255,b=255时,python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象:

>>> a=255
>>> b=255
>>> a is b
True
>>> a==b
True

超过256时,会重新分配空间:

>>> a=257
>>> b=257
>>> a is b
False
>>> a==b
True

如果a>256&&b>256 或者a<-5&&b<-5,但a,b写在同一行时会指向同一地址:

>>> a=4444;b=4444;
>>> a is b
True
>>> a==b
True
>>> a=4444
>>> b=4444
>>> a is b
False

Python运算符优先级
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值