Python运算符


本文链接:https://www.cnblogs.com/zyuanlbj/p/11910980.html


 算术运算符

+   -   *   /   %   **   //

示例:

a=9
b=2
result = a * b
print('乘法运算:',result)

result = a / b
print('除法运算:',result)

b=3
result = a ** b   #  b=2  8*8=64  8*8*8 =512   a的b次幂
print('乘法运算:',result)

b=2
result = a // b   # 整除  9/2 =4.5  取整:4
print('除法运算:',result)

result = a%b  # 9%2= 1
print('取余数运算:',result)

赋值运算符

=   -=   +=   *=   /=

  • 赋值运算符左边必须是变量。
  • 从右向左算。
  • 没有赋值表达式。
  • 所有赋值运算符优先级相同,赋值运算符优先级非常低,仅高于成员运算符和身份运算符、逻辑运算符。
  • 注意在复合赋值中。

示例:

# 1. =
name = 'admin'
# 将'admin'的值赋给 变量name 
name1 = name
print(id(name), name)
print(id(name1), name1)

name2 = name
print(id(name2), name2)
# id() 获取变量地址
print(name == name1)  # 

name1 = 'admin1'
print(id(name1), name1)
print(id(name), name)
name = 'admin2'
print(id(name), name)

name3 = name
print(id(name3), name3)

# 扩展后的赋值符号  +=  -=  *=  /=  ...
num = 8
num += 5  # num = num + 5   此时+ 数学加号
print(num)
num -= 10  # num = num-10
print('num=', num)

a = 'abc'
a += 'ff'  # 等价于: a = a +'ff'  此时'+'就是连接符  包含两个动作: 1. 连接  2.连接后的结果赋值
print(a)

# a -= 'kk'   # 不支持  
# print('a=',a)

关系运算符

  • >:大于,如果运算符前面的值大于后面的值,则返回 True;否则返回 False。
  • >=:大于或等于,如果运算符前面的值大于或等于后面的值,则返回 True;否则返回 False。
  • <:小于,如果运算符前面的值小于后面的值,则返回 True;否则返回 False。
  • <=:小于或等于,如果运算符前面的值小于或等于后面的值,则返回 True;否则返回 False。
  • ==:等于,如果运算符前面的值等于后面的值,则返回 True;否则返回 False。
  • !=:不等于,如果运算符前面的值不等于后面的值,则返回 True;否则返回 False。

示例:

n1 = int(input('请输入第一个数:'))
n2 = int(input('请输入第二个数:'))
# 判断n1 与 n2
result = n1 > n2     # 结果False  True
#  8 > 12   --->False
print('n1>n2:',result)

result = n1 == n2
print('n1==n2:',result)

m1='hello'
m2='hello'
result = m1==m2
print('m1==m2:',result)

username= input('输入用户名:')
uname ='admin123'
result = username==uname
# result = username != uname   # 如果两者不相等则会返回True,相等则返回False
print('用户名的验证结果是:',result)

逻辑运算符

逻辑运算符用于操作 bool 类型的变量、常量或表达式,逻辑运算的返回值也是 bool 值。

  • and:与,前后两个操作数必须都是 True 才返回 True;否则返回 False。
  • or:或,只要两个操作数中有一个是 True,就可以运回 True;否则返回 False;
  • not:非,只需要一个操作数,如果操作数为 True,则返回 False;如果操作数为 False,则返回 True。

示例:

# and   or   not
# and  逻辑与  
# or   逻辑或
# not  逻辑非
# 逻辑运算符的运算结果也是返回True  False
n1= 8
n2 =5
n3=3
result = n1>=(n2+n3) and n1>n2 
n2=n2+n3
# n2--->8
result = n1>=n2 and n1==n3
#         True  and  False  ---->False
n4=(n1+n3)-n2  # n4=3
result = n4<n1 and (n4+n3)>n2  # False

# 判断是否存在用户
username = ''
email ='63478364@qq.com'    
result = username=='admin123' or email =='63478364@qq.com'
       #   False             or          True   ---->True
print('or ---->',result)

a=2
b=5
c=7
result = (a+b)!=c or c>a
print('or--222-->:',result) 

flag = False
result = not flag    # not就是取反
print('not ---->:',result)

位运算符

位运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始 bit 位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效。

反码:正码取反;补码:反码加1;最高位表示符号位。

  • &:按位与。
  • |:按位或。
  • ^:按位异或。
  • ~:按位取反。
  • <<:左位移运算符(补0)。
  • >>:右位移运算符(补符号位)。

示例:

a =3
print(bin(a))   # 0b 11 
a=13
print(bin(a))
b = 0b10111   # 0b  二进制   二进制的表示: 0b1000101
print(int(b))
c=-8  #  -0b1000       0000  1000
print(bin(c)) 
c= 0o6430   # 0o 开头的都是八进制   里面的数字不能超过8
print(int(c))
# 开头表示0x  0-9 a-f 
# 应用: FFFFFF   000000  FF0000   00FF00
d=0x9ab16
print(int(d))

三目运算符

Python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:

True_statements if expression else False_statements

三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回False_statements 的值。

# 格式:表达式 ? 真 : 假
result = (8>10)?'':''
print(result)
# python的格式: 结果  if 表达式 else 结果
a=6
b=5
result = (a+b) if a<b else (b-a)
'''
 判断表达式是True还是False
 如果是True则 将if前面的内容进行运算,并将结果赋值成result
 如果是False则将else后面的内容运算结果,并将结果赋值成result
'''
print(result)

身份运算符

  • is: 判断两个标识符是否引用自同一个实体【对象】,比较的是两个对象的id是否一样,如果相同为真,否则为假。
  • is not:判断两个标识符是不是引用自不同的实体【对象】如果两个对象的id不同结果为真,否则为假。
  • id()函数获取实体的id(地址)。

注意:is和==的区别

  • is用于判断两个变量引用实体是否为同一个【id】
  • ==用于判断两个变量的值是否相同,但id不一定相同

成员运算符

主要应用在序列中。

in:如果在指定的序列中找到指定的值,则返回True,否则返回False。

not in:如果在指定的序列中未找到指定的值,则返回True,否则返回False。

运算符优先级

运算符 描述
** 指数(最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位与
^ | 位异或,或
<= < > >= 比较运算符
<> == != 等于运算符
Life is short, you neeed python.
原文地址:https://www.cnblogs.com/zyuanlbj/p/11910980.html