Python-运算符

  • 赋值运算符及内存分析
  • 算数运算符
  • 关系运算符
  • 逻辑运算符

 

 

一、赋值运算符及内存分析

引用概念

在 Python中

  • 变量 数据 是分开储存的
  • 数据 保存在内存的一个位置
  • 变量 中保存着数据在内存中的地址
  • 变量记录数据的地址,就叫做 引用
  • 使用 id( ) 函数可以产看变量中保存数据所在的 内存地址

注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用

  • 变量 不再 对之前的数据引用
  • 变量 改为 对新赋值的数据引用

Id()

>>> help(id)

Help on built-in function id in module builtins:

id(obj, /)

    Return the identity of an object.

返回一个 对象的 标识(存在内存中的多少号)

    This is guaranteed to be unique among simultaneously existing objects.

    (CPython uses the object's memory address.)

在同时存在的对象中必然是唯一的。

执行如下语句:

name2 = name

使用id函数查看变量 name2 和name的地址/引用是否一致?

 

结果也是一致的,说明在python中,一个地址复用次数多,这样可以节约内存,避免内存浪费。

 

对name1进行重新赋值:

Name1 = "admin1"

Name 和name1还是同一个地址吗?

 

所谓赋值,就是内存中变量名指向的改变,重新赋值,变量就指向了新的地址

 

扩展赋值运算符

 

赋值运算符

说 明

举 例

展开形式

=

最基本的赋值运算

x = y

x = y

+=

加赋值

x += y

x = x + y

-=

减赋值

x -= y

x = x - y

*=

乘赋值

x *= y

x = x * y

/=

除赋值

x /= y

x = x / y

%=

取余数赋值

x %= y

x = x % y

**=

幂赋值

x **= y

x = x ** y

//=

取整数赋值

x //= y

x = x // y

演练并分析数据赋值的过程

Python-运算符_第1张图片

注:扩展赋值运算符 -= 、 *=  /=  只适用于数学运算上,不能进行字符串的拼接

Python-运算符_第2张图片

 

二、算术运算符

算数运算符

算数运算符是运算符的一种

是完成基本的算术运算使用的符号,用来处理四则运算

运算符

描述

实例

+

加 - 两个对象相加

a + b 输出结果 30

-

减 - 得到负数或是一个数减去另一个数

a - b 输出结果 -10

*

乘 - 两个数相乘或是返回一个被重复若干次的字符串

a * b 输出结果 200

/

除 - x除以y

b / a 输出结果 2

%

取模 - 返回除法的余数

b % a 输出结果 0

**

幂 - 返回x的y次幂

a**b 为10的20次方, 输出结果 100000000000000000000

//

取整除 - 返回商的整数部分(向下取整

>>> 9//2      4

   >>> -9//2      -5

算数运算符的优先级

和数学中的运算符的优先级一致,在Python中进行数学计算时,同样也是:

  • 先乘除后加减
  • 同级运算符是从左至右计算
  • 可以使用( )调整计算的优先级,有括号的先算括号里面的

以下表格的算数优先级由高到最低顺序排列

运算符

描述

**

幂(最高优先级)

*  /  %  //

乘、除、取余数、取整数

+ -

加法、减法

三、关系运算符

关系运算符/比较运算符

运算符

描述

实例

==

等于 - 比较对象的值是否相等

(a == b) 返回 False。

!=

不等于 - 比较两个对象是否不相等

(a != b) 返回 true.

<>

不等于 - 比较两个对象是否不相等。python3 已废弃。

(a <> b) 返回 true。这个运算符类似 != 。

>

大于 - 返回x是否大于y

(a > b) 返回 False。

<

小于 - 返回x是否小于y。

(a < b) 返回 true。

>=

大于等于 - 返回x是否大于等于y。

(a >= b) 返回 False。

<=

小于等于 - 返回x是否小于等于y。

(a <= b) 返回 true。

所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。

比较大小

Python-运算符_第3张图片

 

Python-运算符_第4张图片

 

== 或者 != 用于比较变量的值是否相同,区别于变量的id是否相同

Python-运算符_第5张图片

 

Python-运算符_第6张图片

 

is用户地址比较

is是身份运算符,用来比较两个变量的引用的id是否一致

Python-运算符_第7张图片

 

Python-运算符_第8张图片

四、逻辑运算符

逻辑运算符

 

运算符

逻辑表达式

描述

实例

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

(a and b) 返回 20。

or

x or y

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 10。

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

And

条件1 and 条件2

  • / 并且
  • 两个条件同时满足,返回 True
  • 只要有一个条件不满足,就返回 False

条件1

条件2

结果

成立

成立

成立

成立

不成立

不成立

不成立

成立

不成立

不成立

不成立

不成立

OR

条件1 or 条件2

  • / 或者
  • 两个条件只要有一个满足,返回 True
  • 两个条件都不满足,返回 False

条件1

条件2

结果

成立

成立

成立

成立

不成立

成立

不成立

成立

成立

不成立

不成立

不成立

 

NOT

not条件

  • 非、不是

条件

结果

成立

不成立

不成立

成立

逻辑与练习:

Python-运算符_第9张图片

 

Python-运算符_第10张图片

 

Python-运算符_第11张图片

三目运算符

三目运算符,又称条件运算符。它是唯一有3个操作数的运算符,有时又称为三元运算符

Python中三目运算符的格式:

结果1 if 表达式 else 结果2

表达式有两个结果   要看一下表达式的值是真还是假,如果是真,返回前面的结果,如果是假,则返回后面的结果

 

三目运算符练习:

Python-运算符_第12张图片

 

 

你可能感兴趣的:(python)