Python全栈 第二天 2·运算符

加减乘除

小学都上过吧,那应该不用解释了。

  1. 基本运算符
运算符 描述 示范
+ 加法 1 + 1 输出2
- 减法 8 - 6 输出2 6 - 8 输出-2
* 乘法 3 * 4 输出12
/ 除法 6 / 3 输出2.0
// 取整 9 //2 输出4 9.0//2.0 输出4.0
& 取余 6%4 输出2
** 2 ** 3 输出8
  1. 向上、向下取整
    需要导入math模块,输入math.ceil(值),可以向上取整数部分(小数进一)。输入math.floor(值),可以向下取整数部分(小数舍去)。
>>> import math         #  向上取整或向下取整用math模块。
>>> math.ceil(6.4)
7
>>> math.floor(7.9999)
7
  1. 开方
    需要导入math模块,输入math.sqrt(值),可以对指定数字计算开方。
IN:
import math
print(math.sqrt(16))

OUT:
4.0
  1. 浮点数精确运算
    Python小数运算不精确,需要导入decimal模块。输入import decimal,导入模块。
>>> 2.2 - 2
0.20000000000000018
>>> # 以上为未导入 decimal 模块的运算结果。

>>> import decimal #导入模块后运算结果。
>>> a = decimal.Decimal("2.2")
>>> b = decimal.Decimal("2")
>>> a - b
Decimal('0.2')

按位运算符

按位运算是把数字当做二进制数字进行计算的。

  1. & 按位与运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 & 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数都为1时,则该位的结果是1,否则为零。
>>> 5 % 7 # 5的二进制为101,7的二进制为111,计算结果为101
5
  1. | 按位或运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 | 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数只要有一个位为1时,则结果为1。
>>> 5 | 7 # 5的二进制为101,7的二进制为111,计算结果为111
7
  1. ^ 按位异或运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 ^ 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数只要不相同时为1时,否则为零。
>>> 5 ^ 7 # # 5的二进制为101,7的二进制为111,计算结果为010
2
  1. ~ 按位取反运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 ~ 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:每个二进制位取相反数。
>>> ~5
-6
  1. << 左移动运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 << 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:各二进制数全部左移动若干位,由<<右边数值决定移动多少位,高位丢弃,低位补0。
>>> 2 << 2
8
  1. >> 右移动运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 >> 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:各二进制数全部左移动若干位,由>>右边数值决定移动多少位,低位丢弃,高位补0。
>>> 13 >> 2
3

关系运算符

如果运算符两边的关系成立,整个关系运算符表达式的值为真,否则为假。

运算符 描述 表达式
== 等于 输入1 == 1 输出True
!= 不等于 输入1 != 2 输出True
> 大于 输入2 > 1 输出True
>= 大于等于 输入2 >= 1 输出True
< 小于 输入1 < 2 输出True
<= 小于等于 输入1 <= 2 输出True

赋值运算符

  1. 赋值运算表达式
    格式:变量 = 表达式;先计算右侧表达式的值,然后赋值给左侧变量。

  2. = 赋值
    输入 变量名 = 值,表示对变量进行赋值。

>>> a = 1
>>> a
1
  1. += 加法赋值
    输入 变量名 += 数值或变量,表示将运算的结果对变量赋值。其余的赋值运算符方法一样。
>>> a = 100
>>> b = 50
>>> a += b
>>> a
150

逻辑运算符

  1. and 逻辑与运算符
    输入 变量名 = 变量名 and 变量名 !=变量名and两边都为真时,输出True,如果有一边为假时,输出False。 and表示并且。
>>> a = 1
>>> b = 2
>>> c = 1

>>> a != b and a ==c
True
>>> a == b and a ==c
False

>>> if a and b:
	print("ok")

	
ok
  1. or 逻辑或运算符
    输入 变量名 = 变量名 or 变量名 !=变量名,只要 or的一边为真时,输出True,如果两边都为假,输出False。 or表示或者。
>>> a = 1
>>> b = 2
>>> c = 1

>>> a == c or a == b
True
>>> a == b or b == c
False
  1. not 逻辑非运算符
    输入 not 变量名 == 变量名,如果结果为真,输出False,如果结果为假,输出True。 not表示非。
>>> a = 1
>>> b = 2

>>> not a == b
True
>>> not a != b
False

成员运算符

  1. in
    如果在指定的序列中找到值返回True,否则返回False。
>>> li = [1, 2, 3]
>>> 3 in li
True
>>> 5 in li
False
  1. not in
    如果在指定的序列中没有找到值返回True,否则返回False。
>>> li = [1, 2, 3]
>>> 3 not in li
False
>>> 5 not in li
True

身份运算符

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

运算符优先级

  1. **幂
  2. ~按位取反,+正号,-负号
  3. *乘,/除,//取整,%取余
  4. +加号,-减号
  5. <<左移动,>>右移动
  6. &按位与
  7. ^按位异或,|按位或
  8. <小于,<=小于等于,>大于,>= 大于等于
  9. ==等于,!=不等于
  10. =赋值,+=加法赋值,-=减法赋值,%=取余赋值,//=取整赋值
  11. is,is not
  12. in,not in
  13. and,or,not

猜你喜欢

转载自blog.csdn.net/weixin_43641060/article/details/86296699