一:学习内容

  • 算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、**(求幂)、//(取整)
  • 赋值运算符:=
  • 复合运算符:+=、-=、*=、/=、%=、**=、//=
  • 位运算符:&、\、^、~、<<、>>
  • 关系运算符:==、!=、>、<、>=、<=
  • 逻辑运算符:and、or、not
  • 成员运算符:in、not in
  • 身份运算符:is、is not
  • 运算符优先级

二:算术运算符

表达式说明:由变量、常量和运算符组成的式子

1.算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、**(求幂)、//(取整)

2.算术运算表达式:功能:进行相关符号数学运算,不会改变变量的值;值:相关的数学运算结果

3.举例

num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 ** num2)  #pow(5,3)
print(num1 // num2)

三:赋值运算符

1.赋值运算符:=

2.赋值运算表达式:格式:变量 = 表达式;功能:计算等号右侧"表达式"的值,并赋值给等号左侧的变量;值:赋值结束后变量的值

3.举例

num3 = 10
num4 = num3 + 20

四:复合运算符

1.复合运算符:+=、-=、*=、/=、%=、**=、//=

2.举例

a = 1
b = 2
a += b  #a = a + b
print("a1 =", a)
a -= b  #a = a - b
print("a2 =", a)
a *= b  #a = a * b
print("a3 =", a)
a /= b  #a = a / b
print("a4 =", a)
a %= b  #a = a % b
print("a5 =", a)
a **= b #a = a ** b
print("a6 =", a)
a //= b #a = a // b
print("a7 =", a)

五:位运算符

1.按位运算符是把数字看做二进制来进行计算

2.&按位与运算符,相应的位数都为1,则该位结果为1,否则为0

#5的二进制为101,7的二进制为111, 101&111=101即5
print(5 & 7)

3.\按位或运算符,相应的位数都为0,则该位结果为0,否则为1

#5的二进制为101,7的二进制为111, 101 | 111=111即7
print(5 | 7)

4.^按位异或运算符,相应的位数不同时,则该位结果为1,否则为0

#5的二进制为101,7的二进制为111, 101 ^ 111=010即2
print(5 ^ 7)

5.~按位取反运算符

#5的原码和补码:00000000 00000000 00000000 00000101
#取反后补码:     11111111   11111111   11111111   11111010
#补码的反码为: 10000000  00000000 00000000 00000101
#反码的原码为: 10000000  00000000 00000000 00000110
#即-6
print(~5)

6.<< 左移动运算符:各二进制位全部左移动若干位,由<<右侧的数字决定,高位丢弃,低位补0

#00000010
#00001000
print(2 << 2)

7.>> 右移动运算符:各二进制位全部右移动若干位,由>>右侧的数字决定,低位丢弃,高位正数补0负数补1

#00001101
#00000011 正数的补码即原码,故为3
print(13 >> 2)

#10000000 00000000 00000000 00001101 -13原码
#11111111 11111111 11111111 11110010 -13反码
#11111111 11111111 11111111 11110011 -13补码
#11111111 11111111 11111111 11111100 -13右移2位补码
#10000000 00000000 00000000 00000011 -13右移2位反码
#10000000 00000000 00000000 00000100 -13右移2位原码,即为-4
print(-13 >> 2)

六:关系运算符

1.关系运算符:==、!=、>、<、>=、<=

2.关系运算表达式:表达式1 关系运算符 表达式2

3.功能:计算表达式1和表达式2的值

4.值:如果关系成立,整个关系运算表达式的值为真,否则为假

七:逻辑运算符

1.逻辑与运算表达式:表达式1 and 表达式2

值:如果表达式1和表达式2的值都为真,则值为真;如果表达式1或表达式2有一个是假,则值为假
举例:

num1 = 0
num2 = 20
if num1 and num2:
    print("真")

if num1 + 1 and num2 + 1:
    print("真")

#短路原则,只要遇到一个假就不会在计算后面的表达式了
#表达式1 and 表达式2 and 表达式3 and ...

2.逻辑或运算表达式:表达式1 or 表达式2

值:如果表达式1和表达式2的值都为假,则值为假;如果表达式1或表达式2有一个是真,则值为真
举例:

num3 = 0
num4 = 1
if num3 or num4:
    print("真")

#短路原则,只要遇到一个真就不会在计算后面的表达式了
#表达式1 or 表达式2 or 表达式3 or ...

3.逻辑非运算表达式:not 表达式1

值:如果表达式1为假,则值为真;如果表达式1为真,则值为假
举例:

if not 0:
    print("真")

八:成员运算符

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

2.not in 如果在指定的序列中没有找到值返回True,否则返回False

九:身份运算符

1.is 判断两个标识符是不是引用同一个对象

2.is not 判断两个标识符是不是引用不同的对象

十:运算符优先级

从上到下,优先级越来越小

**
~、+(正号)、-(负号)
*、/、%、//
+、-
>>、<<
&
^、|
<=、<、>、>=
==、!=
=、%=、+=、-=、//=
is、is not
in、not in
not、or、and

python3笔记三:运算符与表达式的更多相关文章

  1. c语言笔记3运算符与表达式

    运算符与表达式 知识点一 操作数:参与运算的具体对象. 运算符:指明了对操作数进行的某项运算. 表达式:表示一个求值得规则.它由变量.常量.运算符和函数.括号按一定规则组成. 书写表达式的细节:1,运 ...

  2. C 碎片三 运算符与表达式

    一.算术运算符 算术运算符:+. -. *. /. %等 加:+ 减: - 乘: * 除: /     除数不能为0 模:%    参与模运算的数据不能为小数 二.赋值运算符 赋值运算符:= 作用: ...

  3. 细说php(三) 运算符与表达式

    一.算术运算符    +   -  *  /  %  ++  -- <?php $a = 100; $a++; // $a=$a+1; 先用变量再自增1 ++$a; // $a=$a+1; 先用 ...

  4. 简明Python3教程 7.运算符和表达式

    简介 你写的大多数逻辑行都包含表达式.表达式的一个简单例子是2 + 3.一个表达式可分为操作符和操作数两部分. 操作符的功能是执行一项任务:操作符可由一个符号或关键字代表,如+ .操作符需要数据以供执 ...

  5. python3笔记目录大纲汇总

    篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...

  6. day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入

    复习 1.java的输出语句 1)System.out.println(); 2)System.out.print(); 2.注释 1)单行注释 // 2)多行注释 /* .... */ 3.变量 1 ...

  7. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  8. Python 学习笔记(2) - 基本概念、运算符与表达式

    字符串 - 可以使用 3 种形式 - 单引号 :「'your string'」 - 双引号 :「"your string"」 - 三引号 :「'''your string''' 或 ...

  9. python3.4学习笔记(三) idle 清屏扩展插件

    python3.4学习笔记(三) idle 清屏扩展插件python idle 清屏问题的解决,使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏?在stackoverflow看到 ...

随机推荐

  1. 关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题

    今天在公司的项目开发中,遇到一个问题: 后端对象实体类中写入字段顺序与数据库中的存储顺序不一致. 仔细观察到数据库中的表字段的排序方式是按照拼音字母的顺序abcdef......来存储的 而我的实体类 ...

  2. 07 Python之协程

    协程: 协程是一种用户态的轻量级线程, 即协程是由用户程序自己控制调度的 1.Greenlet import time # import greenlet from greenlet import g ...

  3. js 获取当前月份 第一天和最后一天

    js 获取当前月份 第一天和最后一天 var now = new Date(); //当前日期 var nowMonth = now.getMonth(); //当前月 var nowYear = n ...

  4. 用js方式取得接口里面json数据的key和value值

    大家在实际操作中难免遇到对接口的问题,想必对一些小白来说取得里面想要是数据也是很是头疼,那么接下来我会结合接口实际情况教大家怎么取得里面相应的数据 接口数据例如:(数据为 模拟数据,json格式) { ...

  5. scrapy-redis 实现分布式爬虫

    分布式爬虫 一 介绍 原来scrapy的Scheduler维护的是本机的任务队列(存放Request对象及其回调函数等信息)+本机的去重队列(存放访问过的url地址) 所以实现分布式爬取的关键就是,找 ...

  6. (持续更新中~~~)kafka--消息引擎与分布式流处理平台

    kafka概述 kafka是一个分布式的基于发布/订阅模式的消息队列(message queue),一般更愿意称kafka是一款开源的消息引擎系统,只不过消息队列会耳熟一些.kafka主要应用于大数据 ...

  7. pathlib:处理文件路径的瑞士军刀

    pathlib是python3.4中引入的模块,专门用来处理路径的.个人觉得这是一个非常非常强大的模块,可以说是处理路径的一把瑞士军刀,下面我们就来看看它的功能. 在pathlib中有一个Path这个 ...

  8. 解决 android studio 出现:"AndroidStudio:Could not GET 'https://dl.google.com Received status code 400 from server: Bad Request"问题

    一.android studio 编译项目时出现"AndroidStudio:Could not GET 'https://dl.google.com Received status cod ...

  9. Java语言基础(2)

    1 包的概念 把一个项目分割成几个模块,为每一个模块建立包,把该模块的.java文件统一放到对应包,通过包更好的管理.java文件,并且更好的分工合作.可以尽量避免出现.java文件重名现象. 包命名 ...

  10. OCP协议_电信特殊协议

    OCP(Online Charging Protocol)协议——在线计费协议(也称为AAA协议),是中国电信(文中以中国电信为主)充分研究国内外在线计费协议,基于中国电信自己在线计费的需求,参考3G ...