运算符

算数运算符

  • 进行算是运算的符号,跟正常数学运算一样
  • 乘号用*代替,除号用/代替
  • 在Python2.x和Python3.x中,除号的运算结果可能不一致,2中可能小数四舍五入
  • Python没有自增自减运算符
# "%"取余运算:只要余数
y = 9%5
print (y)

4

# // 表示取商运算,也叫地板除,只要商数
y = 9//5
print (y)

1

# ** 表示幂运算
y = 9 ** 5
print (y)

59049

比较运算符

  • 对两个变量或者值进行比较
  • 比较的结果用布尔值显示,即True/False
# == 等于
y = 7 * 5
x = y == 30
print(x)

False

# != 不等于  >=   <=

赋值运算符

# = 赋值
# +=,是缩写
a = 0
a += 9 # a = a + 9 的缩写
print(a)

9

# 所有数学运算都有缩写形式
# -=, ==, /=, //=, %=, **=

逻辑运算符

  1. and 逻辑与
  2. or 逻辑或
  3. not 逻辑非

运算规则

  • and看做乘法,or看做加法
  • True看做1,False看做0
  • 将逻辑运算转换成整数数学运算
  • 最后结果为0则为False,否则为True

逻辑运算的短路问题

  • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
1 <= 1 and 1 >= 1
True

True

1 > 1 and 1 <= 1

False

成员运算符

  • 用来检测某一个变量是否是另一个变量的值
  • in
  • not in
number = [1, 2, 3, 4, 5]
a = 6
b = a in number
print(b)

False

身份运算符

  • 用来检测两个变量是否是同一个变量,比较的是id
  • 变量相同,值不一定相同(小整数池除外)
  • is
  • is not
a = 10
b = 10 print(a is b)
print(a == b)

True

True

x = 257
y = 257 print(x is y)
print(x == y)

False

True

Python运算符优先级

  • 没那么多事,想优先的就括号括起来,方便写也方便看

链式赋值(必考)

x = 10
y = 10
z = 10 x = y = z = 10
# 两段代码相同

交叉赋值(必考)

x = 10
y = 20
# 把x和y的值对换 z = x
x = y
y = z
print(x, y)

20 10

x = 10
y = 20 x, y = y, x
print(x, y)

20 10

解压缩(必考)

  • "_"就代表无用的值
  • "*-"的数量无法控制
hobby_list = ['piao', '666', 2333, 999, 'handsome', 'read', 'music', 'basketball']
# 如果要取出下标为1, -1的值 _, hobby1, *_, hobby2 = hobby_list
print(hobby1, hobby2)

666, basketball

补充:a += 1和a = a + 1的区别

  • a += 1是在a原有的内存空间中加
  • a = a + 1是开辟了一块新的内存空间,然后再把a + 1的结果丢进去
a = [1, 2, 3]
print(id(a)) # 2527997011528
a += [1]
print(id(a)) # 2527997011528
a = a + [1]
print(id(a)) # 2527999522696 a += '111'
print(a) # [1, 2, 3, 1, 1, '1', '1', '1']
# a = a + '111' # 报错
# print(a)

最新文章

  1. ENode 1.0 - Saga的思想与实现
  2. 基于redis排行榜的实战总结
  3. JS 用sort方法排序字符串
  4. HDU 3966(树链剖分+点修改+点查询)
  5. [转]在BBB启动时自动加载dtbo(或执行脚本、运行程序)
  6. 学习protobuf
  7. mongodb的应用场景
  8. FireMonkey Style Designer
  9. C#关于ref与out的总结
  10. 【百度地图API】如何进行地址解析与反地址解析?——模糊地址能搜索到精确地理信息!
  11. 使用FusionCharts出柱状图和饼状图
  12. 支持苹果IPV6 ONLY 的socket 修改方法
  13. ActiveMQ (一) 初识ActiveMQ
  14. Git实际使用
  15. spring注解驱动--组件注册
  16. Python环境安装及IDE介绍
  17. 8.02-json_use
  18. C++11 boost TR1 TR2曾经参考过的网址整理
  19. python函数-基础篇
  20. Matlab 曲线拟合之polyfit与polyval函数

热门文章

  1. SSH启动失败解决方法
  2. Java 习惯用法总结
  3. json字符串通俗的介绍
  4. 使用ant design pro搭建项目
  5. Project Euler 11 Largest product in a grid
  6. Java 超类引用子类对象的示例代码
  7. 在本地生成ssh-key 免密码远程clone GitLab中的项目到本地
  8. 各项硬件使用剖析(一)---让你一眼就能区分瓶颈是Memory、processor ORdisk!
  9. UVa 170 - Clock Patience
  10. Mediator Design Pattern 中介者模式