python的运算符

运算符和表达式

在数学上为了计算结果,我们会写一些式子计算,例如:

               30  +  5

这是数学中的算式,python中为了计算也有类似的式子,叫表达式。在表达式中30和5称作操作数,+称之运算符。表达式的目的在于计算结果。表达式构成:

  • 最基本的表达式就是一些数值,变量、函数,例如: 3, a(变量) print('hello')
  • 由基本表达式加上适当的运算符构成复杂的表达式: 3 + a

综合上述,所谓表达式就是由操作数和运算符组成䄦符合python语法的式子。要写表达式首先要学习运算符。关于运算符要知道两件事情

  • 计算顺序 : 是从左向右算还是从右向左算
  • 优先级 : 比如先乘除后加减

1 算术运算符

a = 20
b = 10

模运算说明

  • 模运算的符号取决于第二个操作数(右操作数)
  • 模运算的计算公式:r = a % b = a - n * b,其中n是小于a/b的最大整数
  • 整除(//)运算如果有一个操作数是浮点数,结果是浮点数
  • 用途:判断奇偶、判断是否能够整除、最大公约数、水仙花数

数学函数

python3.5.2中文帮助文档 https://yiyibooks.cn/xx/python_352/index.html

随机函数
获取随机数,需要引入random库。
import random

注意

  • 优先级: ** >正负号 > // % * / > + -
  • 从左向右算
  • 在幂运算和一元运算符联合计算时,从右向左算,例如: -1 ** 2 = -1

2 赋值运算符

a = 5; b = 10; c = 20

注意:

  • 赋值运算符左边必须是变量
  • 从右向左算
  • 没有赋值表达式
  • 所有赋值运算符优先级相同,赋值运算符优先级非常低,仅高于成员运算符和身份运算符、逻辑运算符
  • 注意在复合赋值中
    a = 2
    b = 3
    a *= b + 2  #等价于 a = a * (b + 2)
    print(a)  # a = 10

3 关系运算

关系运算就是比较运算,如果表达式成立,返回True,否则返回False。关系运算的结果是布尔值。

注意:

  • 优先级: 比较运算符优先级相同
  • 从左向右算
  • 可以这样算:1 < a < 3 等价于 a > 1 and a < 3

4 逻辑运算

逻辑运算符可以用于构造复杂条件。逻辑运算符包括:

  • 逻辑与 and 对应汉语的意思是“并且” 、 “同时”
  • 逻辑或 or 对应汉语意思为"或者"
  • 逻辑非 not 对应汉语意思为”相反“

在逻辑运算中,False、None、0、0.0、‘’(空字符串)被看做假(False),其它的看做真(True)

4.1 逻辑与

  • 表达式 a and b的值为: 如果a为真,结果为b的值,否则结果是a的值

4.2 逻辑或

  • 表达式a or b的值为:如果a为真结果为a的值,否则结果是b的值

4.3 逻辑非

小结:a为真则表达式为False,否则表达式为True

4.4 短路计算

  • 对于逻辑与表达式 a and b,如果a为假,则不计算b
  • 对于逻辑或表达式 a or b ,如果a为真,则不计算b

4.5 注意事项

  • 优先级 not > and >or

5 身份运算符

is: 判断两个标识符是否引用自同一个实体【对象】,比较的是两个对象的id是否一样,如果相同为真,否则为假
is not:判断两个标识符是不是引用自不同的实体【对象】如果两个对象的id不同结果为真,否则为假
id()函数获取实体的id(地址)
注意:is和==的区别

  • is用于判断两个变量引用实体是否为同一个【id】
  • ==用于判断两个变量的值是否相同,但id不一定相同

6 成员运算符

主要应用在序列中
in:如果在指定的序列中找到指定的值,则返回True,否则返回False
not in:如果在指定的序列中未找到指定的值,则返回True,否则返回False

7 if-else表达式

表达式1 if 条件 else 表达式2
如果条件为真假结果是表达式1的值,否则结果是表达式2的值

posted @ 2020-03-31 23:15  成少雷  阅读(590)  评论(0编辑  收藏  举报