01-2 运算符

逸兴
逸兴
逸兴
57
文章
25
评论
2020-11-1314:20:28
评论
1270字阅读4分14秒
摘要

python运算符

一、算数运算符

+、-、*、/、
// 向下取整数除
%   取模
** 幂

1.1 整除 除法取整---向下取整

01-2 运算符

python2 中得到的是整数

整除是python才有的语法,正数和负数都是向下取整(相邻整数取最小的)。

01-2 运算符

负数整除也是向下取整。

01-2 运算符

3//2 约等于1.5 向下取整为 1,

5//2 约等于2.5 向下取整为 2,

-3//2 约等于-1.5 向下取整为-2,

-5//2 约等于 -2.5 向下取整为 -3

1.2 幂运算:---几次方

01-2 运算符

1.3 平方根

01-2 运算符

1.4 取模运算--- % 取余数

可以进行奇偶判断,对2取模,余1是奇数,余0 则为偶数

01-2 运算符

二、位运算符

  • & 位与
  • | 位或
  • ^ 异或
  • << 左移
  • >> 右移
  • ~ 按位取反,包括符号位

2.1 位与

两个数的二进制做与运算。

只有两个数的二进制同时为1,该位结果才为1,否则为0。(负数按补码形式参加按位与运算),类似相乘。
7 & 1
0111
0001   &
-------------
0001     ---> 1

任何数与1 相与,因为0001 足够特殊,除最低位外,所有位都是0,因此只需要计算最低位的结果即可。无外乎两种情况, 奇数最低位为1, & 1 其结果为1 ,偶数最低位为0 则结果是0.

可以此来判断奇偶性,因为每个奇数的最低位都是1,而偶数的最低位都是0.

可用此方法判断奇偶性,与运算的性能是高于取模运算的。

01-2 运算符

2.2 位或

两个数的二级制做或运算

参与运算的两个数中,只要有一个为1,则该位结果为1.

01-2 运算符
0001
0001 或运算
-------
0001 ---> 0o(1)

0010
0001 或运算
------
0011 ---- 0o(3)

2.3 异或

参加运算的两个数,按二进制位进行“异或”运算。

如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

01-2 运算符
0001
0001 异或运算
-------
0000 ---> 0o(0)

0010
0001 异或运算
------
0011 ---> 0o(3)

2.4 左移

向左移动,最低位补0

7 << 1

结果为14

左移n位就是乘以 2的n次方

70b0111
140b1110

2.5 右移

向右移动,最高位补0

右移n位就是除以 2的n次方

三、比较运算符

  • 是否相等:==
  • 是否不等于:!=
  • 大于:>
  • 小于:<
  • 大于等于:>=
  • 小于等于:<=

比较运算符返回的是一个 bool 值,另外python中不允许跨类型比较。

01-2 运算符

四、真假值

0 与 空 为假,其他值包括空格都为真。

None 等效为空

关于空:

  • 空容器
    • 空集合 set
    • 空字典 dict
    • 空列表 list
    • 空元组 tuple
  • 空字符串
    • ""
  • None
  • 0

这些都为假 False

五 、逻辑运算

and:如果比较的值都为True则结果为True,有一个为False 则结果为False

01-2 运算符

or:比较的值有一个为True,则结果为True

01-2 运算符

短路运算:

逻辑运算符也是短路运算符

比如and运算中,多个条件比较,前面的结果有False,其结果必然为False,后面就没要计算了。

01-2 运算符

同样的 or 运算中,如果前面出现了 True,则结果必然为True, 后面的就没必要计算了。

01-2 运算符

短路运算是一种运算思想,把最频繁使用的,最少计算就可以得到结果的条件放到前面,如果它能短路,则后面的计算就不需要了。




https://www.hugbg.com/archives/2926.html
逸兴
  • 本文由 发表于 2020-11-1314:20:28
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
01-1 数据类型 基础语法

01-1 数据类型

第一章 数据类型 使用type() 函数可以查看数据类型 1.1 字符串 str 字符串是使用单引号或双引号括起来的任意文本。 比如'abc', '123'等 字符串类型 字符串类型用str表示 st...
09-5 | asyncio基本使用 并发编程

09-5 | asyncio基本使用

第一节 关于asyncio asyncio 在3.4 版本中加入到标准库, asyncio基于selector实现, 看似库, 其实是个框架, 包含异步IO, 事件循环, 协程, 任务等内容。 通过a...
09-4 | 全局解释器锁 & 多进程 & 池 并发编程

09-4 | 全局解释器锁 & 多进程 & 池

GIL CPython 在解释器进程级别有一把锁,叫做GIL,即全局解释器锁。 GIL 保证CPython进程中,只有一个线程执行字节码。甚至是在多核CPU的情况下,也只允许同时只能 有一个CPU核心...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: