Python菜鸟入门:day03运算符

写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
传送门:

day01基础知识
day02知识分类
day03运算符
day04数字与字符串
day05列表
day06元组与字典
day07条件与循环
day08函数概念
day09数据结构
day10模块介绍
day11文件操作
day12编程学习
day13编程学习
day14编程学习
day15编程学习
day16编程学习
day17编程学习
day18编程学习

2 进制是以 0b 开头的
8 进制是以 0o 开头的
16 进制是以 0x 开头的

Python运算符

算术运算符

  • 加减乘除+ - * / (没啥好说的)
  • %,取余,返回除法的余数
  • **返回x的y次幂
  • 取整除-向下取接近商的整数
>>> 9//2
4
>>> -9//2
-5

比较运算符

  • “==”判断是否相等
  • “!=”判断是否不等
  • “>=<”

赋值运算符

±*/% = /%=a c=c±/%a
** = c**=a c=c**a
// = c//=a c=c//a

逻辑运算符

  • and(与) : x and y 如x为False,x and y返回False,否则返回y的计算值;(若所有值均为真,则返回最后一个值,若存在假,返回第一个假值);
  • or (或): x or y 如x是True,x or y返回x的值,否则返回y的值;(返回第一个为真的值,否则返回最后一个值)
  • not(非):not(x) 如果x为True,返回False, 如果x为False,返回True;
#!/usr/bin/python3
 
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,则结果为1,否则为0;
    | :按位或运算符:对应的两个二进位有一个为1时,结果就为1,否则为0;
    ~ :按位取反运算符:对数据的每个二进制位取反,即把1换为0,把0换为1;
    ^ :按位异或运算符:当对应的二进制位相异时,结果为1,否则为0;
    << :左移动运算符:运算数的各二进制位全部向左移若干位,高位丢弃,低位补0;
    `>>:右移动运算符:运算数的各二进制位全部向右移若干位;
  • 实例如下
#!/usr/bin/python3
 
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b;        # 12 = 0000 1100
print ("1 - c 的值为:", c)
 
c = a | b;        # 61 = 0011 1101 
print ("2 - c 的值为:", c)
 
c = a ^ b;        # 49 = 0011 0001
print ("3 - c 的值为:", c)
 
c = ~a;           # -61 = 1100 0011
print ("4 - c 的值为:", c)
 
c = a << 2;       # 240 = 1111 0000
print ("5 - c 的值为:", c)
 
c = a >> 2;       # 15 = 0000 1111
print ("6 - c 的值为:", c)

成员运算符

  • in 如果在指定的序列中找到对应值返回True,否则返回False;
  • not in 使用方法与in相反;
#!/usr/bin/python3
 
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
 
if ( a in list ):
   print ("1 - 变量 a 在给定的列表中 list 中")
else:
   print ("1 - 变量 a 不在给定的列表中 list 中")
 
if ( b not in list ):
   print ("2 - 变量 b 不在给定的列表中 list 中")
else:
   print ("2 - 变量 b 在给定的列表中 list 中")
 
# 修改变量 a 的值
a = 2
if ( a in list ):
   print ("3 - 变量 a 在给定的列表中 list 中")
else:
   print ("3 - 变量 a 不在给定的列表中 list 中")

身份运算符

  • is :用于判断两个标识符是不是引用自一个对象
  • is not :用于判断两个标识符是不是引用自不同对象
#!/usr/bin/python3
 
a = 20
b = 20
 
if ( a is b ):
   print ("1 - a 和 b 有相同的标识")
else:
   print ("1 - a 和 b 没有相同的标识")
 
if ( id(a) == id(b) ):
   print ("2 - a 和 b 有相同的标识")
else:
   print ("2 - a 和 b 没有相同的标识")
 
# 修改变量 b 的值
b = 30
if ( a is b ):
   print ("3 - a 和 b 有相同的标识")
else:
   print ("3 - a 和 b 没有相同的标识")
 
if ( a is not b ):
   print ("4 - a 和 b 没有相同的标识")
else:
   print ("4 - a 和 b 有相同的标识")

Python运算符优先级

以下表格列出来从最高到最低优先级的所有运算符
在这里插入图片描述

#!/usr/bin/python3
 
a = 20
b = 10
c = 15
d = 5
e = 0
 
e = (a + b) * c / d       #( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:",  e)
 
e = ((a + b) * c) / d     # (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:",  e)
 
e = (a + b) * (c / d);    # (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:",  e)
 
e = a + (b * c) / d;      #  20 + (150/5)
print ("a + (b * c) / d 运算结果为:",  e)

end
今天有点晚,拖延症又犯了,希望明天能继续坚持。

猜你喜欢

转载自blog.csdn.net/Q_U_A_R_T_E_R/article/details/107203055
今日推荐