二、python运算符

表达式

变量或(和)常量和运算符(又叫操作符)的组合叫表达式。表达式中的变量或常量称为操作数,表达式可分为多种类别,具体取决于所用运算符的类型。运算符主要类型包括:算术运算符、赋值运算符、条件运算符、逻辑运算符和位运算符等。

算术运算符

算术运算符是用于完成基本的算术四则运算的符号。

| 算术运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
| + | 加法运算符 |1+1,a+b,可以直接作用于数值或变量。|
| - | 减法运算符 | 2-1,a-b。 |
| * | 乘法运算符 |22,ab。 |
| / | 除法运算符 | 2/2,a/b。注:即使,分子分分母都为整型,
除法的结果总为浮点数。 |
| % | 取模运算符 | 3%2,a%b。注:得到表达式整除后的余数,
如3除以2商为1,余数为1。所以3%2=1。 |
| ** | 幂运算符 | 3**2,a**b 。注:**符号后面的数为前面数的
指数,如3**2即为3的2次方,所以3**2=9.|
| // | 取整除(f loor 除)运算符 | 3//2,a//b。
注:取整并非四舍五入,而是向左取整。
如3//2=1,实际结果为1.5向数轴左边取整为1;
-3//2=-2 ,实际结果为-1.5向数轴左边取整为-2|

赋值运算符

赋值运算符的一般形式,var=expression。赋值运算符的功能是把左边的值或表达式的计算结果赋予左边的变量。赋值运算符具有右结合性,也就是说运算时从右往左。如:a=1读作1赋值给(变量)a。b=2读作2赋值给(变量)a。c=a+b读作a与b的和赋值给(变量)c。除了简单运算符,还有与算术运算符结合的复合运算符。

|赋值运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
| = | 简单赋值运算符 | a=1,b=1,c=a+b |
| += | 加法赋值运算符 | a=0,a+=1相当于a=a+1,
变量a必须先赋值才能被用于+=运算符,
因为在python中,变量必须先声明才能
使用,赋值运算符又是从右向左运算,所
以本例中中a=a+1,由于a之前没有声明,
所以会报错。以下的复合运算符都遵从以
上规则。
|
| -= | 减法赋值运算符 | a=0,a-=1相当于a=a-1 |
| = | 乘法赋值运算符 |a=1,a*=2相当于a=a2 |
| /= | 除法赋值运算符 | a=4,a/=2相当于a=a/2 |
| %= | 取模赋值运算符 | a=3,a%=2相当于a=a%2 |
| = | 指数赋值运算符 | a=2,a**=2相当于a=a2 |
| //= | 取整除赋值运算符 | a=3,a//=2相当于a=a//1 |

比较(关系)运算符

使用比较运算符比较两个值,结果是一个布尔值,要么是结果为 True,要么为 False。

|比较运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
|== | 等于 | 1==1,1==2,a==b,判断数值或变量的值是否相等,
相等则为True,不等为False |
|!= | 不等于 | 1!=1,1!=2,a!=b,判断数值或变量的值是否不相等,
不相等则为True,相等为False |
|is | 引用同一对象 | a=[1,2,3],b=[1,2,3],a is b结果为False,虽然a和b
值一样,因为引用自不同的对象,所以会为False。 |
|is not | 引用不同的对象 |a=[1,2,3],b=[1,2,3],a is not b结果为True。 |
|> | 大于 |1>2, a>b |
| >= | 大于等于|1>=2, a>=b|
| < | 小于| 1<2, a<b |
| <= | 小于等于|1<=2, a<=b |

标识运算符

|标识运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
|is | 引用同一对象 | a=[1,2,3],b=[1,2,3],a is b结果为False,虽然a和b
值一样,因为引用自不同的对象,所以会为False。 |
|is not | 引用不同的对象 |a=[1,2,3],b=[1,2,3],a is not b结果为True。 |

逻辑运算符

|逻辑运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
|and | 逻辑与 | True and True=True,True and False =False ,
False and False =False。
注:只有运算符两侧全为True时,结果才为True。 |
|or | 逻辑或 | True and True=True,True and False =True,
False and False =False。
注:只要运算符两侧有一个为True,结果就为True。 |
|not | 逻辑非 | not True =False,not False =True。注:相反结果,
为True时结果为False,为False结果为True |

python中数值型0在布尔值上下文环境中为Flase,其他数值为True;None值为False;空字符串‘’或""为False,非空为True;空序列、字典、集合、元组为False,非空为True。
逻辑与and: 返回的结果是决定结果的值。如x and y,如果 x 为真,结果由y决定,结果为 y ;如果 x 为假,结果由x决定,返回 x。非布尔值1 and 2结果为2,2 and 1结果为1;0 and 1和1 and 0结果都为0,其它字符串和数据结构以同样的方式运算。
逻辑或or :跟 and 一样都是返回决定结果的值。如x or y,如果 x 为真,结果由x决定,结果为 x ;如果 x 为假,结果由y决定,返回y。非布尔值1 or 2结果为1,2 or 1结果为2;0 or 1和1 or 0结果都为1,其它字符串和数据结构以同样的方式运算。

位运算符

|位运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
|& | 按位与| 1&1=1,1&0=0,0&1=0,0&0=0。
只要对应的两个二进位都为1时,结果位才为1 |
|| | 按位或 |1|1=1,1|0=1,0|1=1,0|0=0。
只要对应的两个二进位有一个为1时,结果位就为1。 |
|^ | 按位异或 | 11=0,10=1,01=1,00=0。
当两个对应的二进位相异时,结果为1。 |
|~ | 取反 |如果a=2,那么~a=-(a+1) =-3。
记住~a=-(a+1)这个公式即可 |
|<< | 左移|运算数的各二进位全部左移n位,由"<<"右边的
数指定移动的位数,高位丢弃,低位补0。左移一
位都相当于乘以2的1次方,左移n位就相当于乘以2
的n次方。 |
| >> | 右移|把">>"左边的运算数的各二进位全部右移n位,
">>"右边的数指定移动的位数。右移一位相当于除
2,右移n位相当于除以2的n次方取商。|

成员运算符

在一个序列中成员资格的测试,如字符串,列表或元组。

|成员运算符 | 名称 | 例子 |
| ------------- |:----------------|: ------:|
|in |包含| ‘1’ in '1234'。
包含时为Ture,不包含时为False。 |
|not in |不包含| ‘1’ not in '1234'。
包含时为False,不包含时为Ture。 |

运算符优先级

由高到低排序
** 指数
~ 、+、 - ,取反, 正负号
* 、/、 %、 // 乘,除,取模和取整除
+、- 加号减号
>>、 << 右移,左移运算符
& 位与
^ | 位运算符
== 、!= 、< 、<= 、>、 >= 比较运算符
= 、-= 、+= 、%= 、/= 、//=、 = 、*= 赋值运算符
is、 is not 标识运算符
in、not in 成员运算符
and、or、not 逻辑运算符

另外,小括号可以改变优先级,有()的情况优先计算()中的表达式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容