笔记----运算符

一、运算符分类:

1、算术运算符:主要用于两个对象之间的加减乘除

2、比较运算符:用于两个对象之间的比较(大于、等于、小于等)

3、赋值运算符:用于对象赋值,将右边的值赋值给左边。值可以是数字、字符串、列表等

4、逻辑运算符:用于逻辑计算:如与(and)或(or)非(not)等

5、位运算符:将数字按照二进制来计算

6、成员运算符:判断一个对象是否包含另一个对象

7、身份运算符:判断是不是引用自一个对象

8、运算优先级

二、运算符详解

2.1、算术运算符

示例:

a = 5        
b = 6
c = a + b # 加法 
d = b - a # 减法 
e = a * b # 乘法 
f = a / b # 除法
g = a % b # 取余
h = a // b # 取整            
i = a**b # 幂,a的b次方

print("a + b = ", c)        
print("b - a = ", d)            
print("a * b = {}".format(e))        
print("a / b = ", f)
print("a % b = ", g)        
print("a // b =", h)            
print("a**b = ", i)

输出:

a + b = 11          
b - a = 1        
a * b = 30          
a / b = 0.8333333333333334       
a % b = 5

a // b = 0        
a**b = 15625 

除法中所得到的值有很多位小数点,让我们使其保留自己想要的小数点吧。

如保留两位小数:

print("a / b = %.2f" % f) # 保留两位小数

print("a / b = {:.2f}".format(f)) # 保留两位小数

print("a / b = ", round(f, 2)) # 保留两位小数

2.2、比较运算符

示例:

a = 5

b = 6

print("a与b是否相等:", a == b)

print("a与b是否相等:", a != b)

print("a是否大于b:", a > b)

print("a是否大于等于b:", a > b)

print("a是否小于b:", a < b)

print("a是否小于等于b:", a < b) 

2.3、赋值运算符

a = 5

b = 6

# 左边是变量,右边是表达式或者是字符串、列表、元组等,

c = a + b # 右边表达式自动计算

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

b += a      #等效为 b = b + a

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

b -= a      # 等效为 b = b - a

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

b *= a      # 等效为 b = b * a

print("b *= a的值为:", b)

b /= a      # 等效为 b = b / a

print("b /= a的值为:", b)

b %= a      # 等效为 b = b % a

print("b %= a的值为:", b)

b **= a      # 等效为 b = b ** a

print("b **= a的值为:", b)

b //= a      # 等效为 b = b // a

print("b //= a的值为:", b)

输出:

a + b的值为: 11

b += a的值为: 11

b += a的值为: 6

b *= a的值为: 30

b /= a的值为: 6.0

b %= a的值为: 1.0

b **= a的值为: 1.0

b //= a的值为: 0.0

2.4、逻辑运算符

位运算符就是把数字看作二进制来计算的

a = 60      # 60转化成二进制0011 1100

b = 13      # 13转化成二进制 0000 1101

c = a & b     # 参与的两个值二进制位如果相应的值都为1,则结果为1,否则都为0

"""

0011 1100

0000 1101

----------

0000 1100     =>    1 * 2**3+ 1* 2**2 + 0 * 2**1 + 0 * 2**0 = 8 + 4 =12

"""

print("c的值为:", c)

d = a | b     # 参与的两个值二进制位只要其中有一个为1,则结果为1,否则都为0

"""

0011 1100

0000 1101

----------

0011 1101

"""

print("d的值为:", d)

e = a ^ b      # 异位, a 和 b中的二进位是相异的时候,结果为1

"""

0011 1100

0000 1101

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

0011 0001

"""

print("e的值为:", e)

f = ~a     # 取反,就是把0变为1,把1变为0

"""

0011 1100

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

1100 0011

"""

print("f的值为:", f)

g = a << 2     # a的二进位向左移动两位

"""

0011 1100

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

1111 0000

"""

print("g的值为:", g)

h = a >> 2      # a的二进位向右移动两位

"""

0011 1100

----------

0000 1111

"""

print("h的值为:", h)

输出结果:

c的值为: 12

d的值为: 61

e的值为: 49

f的值为: -61

g的值为: 240

h的值为: 15

2.5、逻辑运算符

示例:

a = 1

b = 0

if a and b:

    print("a和b都为true")

else:

    print("a和b其中至少有一个不为true")

if a or b:

    print("a和b其中至少有一个为true")

else:

    print("a和b都不为true")

if not(a and b):

    print("a和b其中至少有一个不为true")

else:

    print("a和b都为true"

输出:

a和b其中至少有一个不为true

a和b其中至少有一个为true

a和b其中至少有一个不为true

2.6、成员运算符

a = 1

b = 10

lst = [1, 2, 3, 4, 5]    # 可以是列表、字符串、元组

if a in lst: # 它返回的是一个布尔类型

    print("a在lst列表里")

else:

    print("a不在lst列表里")

if b not in lst:

    print("b不在lst列表里")

else:

    print("b在lst列表里")

输出:

a在lst列表里

b不在lst列表里

2.7、身份运算符

a = 1

b = 10

print("内存地址为:", id(a))

print("内存地址为:", id(b))

if a is b: # 返回的是布尔类型,a is b 等同于 id(a) == id(b),即内存地址一样

    print("a和b来自同一个标识里")

else:

    print("a和b没有相同的标识")

if a is not b:

    print("a和b没有相同的标识")

else:

    print("a和b来自同一个标识里")

通过将a和b分别为整数、字符串、元组、列表、字典时候,我们可以得出a和b值都是一样,其a和b在整数、字符串情况下,a is b返回是True,在元组、字典、列表的情况下 a is b 返回的是False。

is 和 == 的区别

is是用来判断两个对象的内存地址是否一样,通常我们可以用id(对象名)这个函数来查看我们对象内存地址。而==是用来判断两个对象的值是否相等。

2.8、运算符优先级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值