首页 > 编程语言 > 详细

python的operator的总结

时间:2020-08-19 13:10:18      阅读:90      评论:0      收藏:0      [点我收藏+]

python的operator的总结

1. 表达式

1.1表达式和语句的区别

??编程语言中的表达式和语句是有本质的区别的。语句是要编译成机器码,属于CPU的指令系统,由CPU执行。而表达式就是可以计算的,汇编中明确说了表示式会在汇编过程经过运算得到一个操作数。同理,在其他的高级语言中,比如C++ 和python,也同样如此。

1.2表达式的组成

??再说一下表达式的组成,表达式=对象(或者变量)+ 操作符。

1.3表达式的运算结果

??表达式就是可以计算出结果的,最终就是得到一个某一种数据类型的数。某一种指的是什么?在python中,可以是int型,float型,bool型,更可以是字符串型和列表型等等(因为它们可以使用+号和*号进行运算,并且*的本质就是多个+号的使用。)。

2. 操作符

??从上面我们就知道了,操作符就是表达式的一个部分,本质上就是用来实现某一种运算的功能。那么下面的话,我们来对操作符进行一个分类。分类的依据主要是运算得到的结果。可以分成三大类。

2.1 result = 数据(特指int 和float类型)

(1)算术运算符

取模 取余
+ - * / // % **

??附加说明一下,上面的+ 和*除了可以用来进行数值的运算之外,还可以进行其他的数据类型的运算。比如字符串,列表,元组和集合等等。

(2)位操作运算符

??我们知道在计算机的内存中,任何的东西,无论是数值还是字符串还是图像或者音乐都是按照位或者bit来存储的,本质上就是0和1,对应于高低电平。不同类型的东西只是经过译码和解码得到不同的内容而已。位操作是计算运算最本质的运算。

??这里介绍的位运算,只是针对于bitwise,就是逻辑操作。包括按位与,按位或,按位取反,按位异或。

??在说明一下,按位操作,得到的结果还是一个计算内存的二进制数。注意,就是一个二进制数,不管它代表的是什么,数值还是字符串还是图像还是视频等等。这里和逻辑运算符是有本质的区别的。

??具体的按位操作符如下表所示:

bitwise_and bitwise_or bitwise_not bitwise_xor
& | ~ ^

2.2 result = bool 或者others

??我们会发现,很多表达式都会这样。bool在python中无非就是True和Flase(注意大小写,python是case-sensitive的),这很有用,可以用作条件判断。用在循环和条件语句中。所以这个很重要!

(1)逻辑运算符

??逻辑运算符的操作对象或者说变量的数据类型是属于布尔型的。并且运算结果也是布尔型。逻辑运算符有三个,就是与或非。

and or not

??python中的逻辑运算的规则非常重要。

1)对于x and y,如果x和y都是真,就是返回最后一个值就是y。如果其中有一个是假,则返回那个假的值(x或者y中的一个)。如果两个都是假的话,就会返回第一个假的值。

>>> # 两个都是真
... 1 and True
True
>>> # 其中一个是真
... 1 and []
[]
>>> # 两个都是假
... ‘‘ and Flase
‘‘

2)对于x or y,如果两个都是真,返回第一个真。如果一个是真,则返回真值。如果两个都是假,则返回最后一个假的值。

>>> # 两个都是真,返回第一个
... 1 or ‘nihao‘
1
>>> # 一个是真,返回真值
... [1] or False
[1]
>>> # 两个都是假,返回最后一个假
... {} or []
[]

3)对于not的话,结果只返回True和False。这个要和and和or进行区分。

总结:所以进行逻辑运算,不一定是布尔类型。关键要学会python是怎么判断真和假的,然后按照上面的运算规则进行运算。请参考我的文章:<<python对于真和假的定义>>

(2)关系运算符

1)比较运算符

??首先说明,比较运算符进行比较的对象必须是同一种类型的。比如都是int,或者都是list类型的。

等于 不等于 大于 大于等于 小于 小于等于
== != > >= < <=

特别说明,不仅仅是数据可以进行比较,向字符串和列表等等都是可以比较的。序列比较的规则是,从序列的开始逐一对序列的元素进行比较,一旦有结果就返回来。

2)membership test运算符

成员测试,就是说序列中的某一个成员是否属于该序列。

3)identity test运算符

??身份测试,测试的是id,就是内存中的id地址。我们知道,所有的东西都是存在于计算机的内存中的。这个测试如果是真,就证明是同一个对象。或者可以说,这就是进行一个对象测试了。看是否是同一个对象。

(3)赋值及其增强型运算符

1)赋值运算符

??首先说就是=,这是一个赋值运算符。本质就是引用的意思。

2)增强型赋值运算符

??增强型运算符,就是算术运算符+赋值运算符。其实就是缩写用的。比如+=, *=, -=,就是先进行一个运算运算,然后再进行赋值的意思。相当于C++中的i++,在python中就是 i+=1。

python的operator的总结

原文:https://www.cnblogs.com/GuangJI/p/13528615.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!