运算符

算数运算符

  • 进行算是运算的符号,跟正常数学运算一样
  • 乘号用*代替,除号用/代替
  • 在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)

day06-2 基本运算符(解压缩)的更多相关文章

  1. python-基本运算符(解压缩-必考)

    基本运算符 算术运算符 x =10 y =20 print(x+y) 30 print(x-y) -10 print(x*y) 200 print(x/y) 0.5 print(x%y)#取余 10 ...

  2. day06可变与不可变类型,if判断,运算符

    1:可变不可变类型 2.什么是条件?什么可以当做条件?为何要要用条件? 显式布尔值:True.False 隐式布尔值:所有数据类型,其中0.None.空为假 3:逻辑运算符:用来 # not. and ...

  3. Day06:运算符详解

    运算符 算术运算符:+,-,*,/,%(取余:也叫模运算),++(自增),--(自减)........... 二次运算符+,-,*,/ int a=10; int b=20; int c=50; in ...

  4. python基础之数据类型,交互,格式化输出,基本运算符

    数据类型 1.什么是数据类型? 变量值才是我们存的数据,所以数据类型指的是变量值的种类 2.为何数据要分类? 变量值是用来保存现实世界中的状态的,那么针对不同的状态,就应该用不同类型的数据去表示 3. ...

  5. 格式化输出,基本运算符,流程控制主if

    5.5自我总结 一.格式化输出 1.占位符 a = 1 b = 2 print('%S %s'%(a,b)) #1 2 print('%s %s'%(1,2)) #1 2 2.format格式化 a ...

  6. day04-交互、格式化输出及基本运算符

    目录 与用户交互 python2和python3交互的区别 格式化输出 1 字符串拼接 2 占位符 3 format格式 4 f-string格式 基本运算符 算术运算符 比较运算符 赋值运算符 逻辑 ...

  7. day004 与用户交互、格式化输出、基本运算符

    目录 今天Python所学习的知识如下:①与用户的交互.格式化输出.基本运算符.以下整理汇总下所学习的知识点. 与用户的交互 input 注意事项: input函数接受的都是字符串 python2中的 ...

  8. Day 04 [与用户交互,格式化输出,基本运算符]

    Python 的与用户交互 name=input("请输入姓名:") height=input('请输入身高:') weight=input('请输入体重:') 在python3中 ...

  9. 周总结 + for 循环 + 内置方法(day06整理)

    目录 周总结 一 计算机基础之编程 (一) 什么是编程语言 (二) 什么是编程 (三) 为什么编程 二 计算机五大组成 (一) CPU (1) 运算器 (2) 控制器 (二) 存储器 (1) 主存 ( ...

随机推荐

  1. Docker镜像的备份和恢复

    备份: docker save -o [tar包真实路径] [镜像名 ] 如:docker save -o /usr/docker_data/mongo-backup.tar mongo   导出: ...

  2. Day 10 函数

    函数 1.什么是函数? 函数就是具备某一功能的工具,事先将工具准备好就是函数的定义,遇到应用场景拿来就用就是函数的调用 2.为何用函数? 如果不使用函数,写程序会遇到这三个问题 1.程序冗长 2.程序 ...

  3. 死磕itchat源码--目录结构

    阅读itchat源码时,先弄清itchat的目录结构 itchat │ config.py │ content.py │ core.py │ log.py │ returnvalues.py │ ut ...

  4. JavaScript 数字字符串比较大小

    JavaScript中常用数字字符串比较 1.数字与数字之间直接比较 比较方式依据数学运算,没什么好说的. 2.数字与字符串数字之间直接比较 例如 数字5 与字符串数字'123',这种比较先将数字字符 ...

  5. ROPI下载安装

    ROPI下载安装 官方地址 参考文献 安装过程 wget http://num.math.uni-goettingen.de/~m.goerigk/ropi/0.1.0/ropi-0.1.0.tar. ...

  6. Python半双工聊天

    半双工聊天 半双工聊天.创建一个简单的半双工聊天程序.指定半双工,我们的意思就是,当建立一个连接且服务开始后,只有一个人能打字,而另一个参与者在得到输入消息提示之前必须等待消息.并且,一旦发送者发送了 ...

  7. 2.SSH 两个表全套增删改(运动员住宿管理)

    0.创建如下oracle的命令 create table HOTALINFO ( HOTALID ) not null, HOTALNAME ) not null, HOTALADDRESS ) no ...

  8. 基于redis的分布式锁实现方案--redisson

    实例代码地址,请前往:https://gitee.com/GuoqingLee/distributed-seckill redis官方文档地址,请前往:http://www.redis.cn/topi ...

  9. BZOJ 3674 可持久化并查集加强版(按秩合并版本)

    /* bzoj 3674: 可持久化并查集加强版 http://www.lydsy.com/JudgeOnline/problem.php?id=3674 用可持久化线段树维护可持久化数组从而实现可持 ...

  10. C语言实现使用动态数组实现循环队列

    我在上一篇博客<C语言实现使用静态数组实现循环队列>中实现了使用静态数组来模拟队列的操作. 因为数组的大小已经被指定.无法动态的扩展. 所以在这篇博客中,我换成动态数组来实现. 动态数组能 ...