python学习杂记

python运算符

2018-09-09  本文已影响0人  tomtiddler

运算符的定义

运算符用于执行代码运算,会针对一个以上操作数项目来进行运算。

运算符类型

1.算数运算符
2.比较运算符
3.赋值运算符
4.位运算符
5.逻辑运算符
6.成员运算符
7.身份运算符

详情介绍

算数运算

以下假设变量a为10,b为20:

运算符 描述 实例
+ 加-两个对象相加 a+b输出结果30
- 减-得到负数或者是一个数减去另一个数 a-b输出结果-10
* 乘-两个数相乘或者是返回一个被重复若干次的字符串 a*b输出结果200
/ 除-x除以y a/b输出结果2
% 取模-返回除法的余数 b%a输出结果0
** 幂-返回x的y次幂 a**b输出结果...
// 取整除-返回商的整数部分 9//2=4 9.0//2.0=4.0

比较运算

赋值运算

以下假设变量a为10,b为20:

运算符 描述 实例
= 简单的赋值运算符 c=a+b将a+b的运算结果赋值给c
+= 加法赋值运算符 c+=a等效于c=c+a
-= 减法赋值运算符 c-=a等效于c=c-a
*= 乘法赋值运算符 c=a等效于c=ca
/= 除法赋值运算符 c/=a等效于c=c/a
**= 幂赋值运算符 c**=a等效于c=c**a
//= 取整除赋值运算符 c//=a等效于c=c//a

位运算

下表中变量a为60,b为13

运算符 描述 实例
& 按位与运算符:参与计算的两个值,如果两个相应位都是1,则该位的结果为1.否则为0 (a&b)输出结果为12,二进制解释:0000 1100
| 按位或运算符:参与计算的两个值,只要有一个相应位是1,则该位的结果为1.否则为0 (a|b)输出结果为61,二进制解释:0011 1101
^ 按位异或运算符:参与计算的两个值,只要对应位相异,则该位的结果为1.否则为0 (a^b)输出结果为49,二进制解释:0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,把1变成0,0变成1 (~a)输出结果为-61,二进制解释:1100 0011,在一个有符号二进制数的补码形式
<< 左移动运算符:运算数的各二进位全部左移若干位。由"<<"右边的数指定移动
的位数,高位丢弃,低位补0. a<<2输出结果为240,二进制解释为: 1111 0000
>> 右移动运算符:运算数的各二进位全部右移若干位。由">>"右边的数指定移动的位数,高位补0,低位丢弃. a>>2输出结果为15,二进制解释为: 0000 1111

逻辑运算

python语言支持逻辑运算符,以下假设变量a为10,b为20

运算符 逻辑表达式 描述 实例
and x and y 布尔与运算-如果x为false,x and y 返回false,否则返回y的计算值 (a and y) 返回20
or x or y 布尔或运算-如果x为非0,返回x的计算值,否则返回y的计算值 (a or y) 返回10
not not x 布尔非运算-如果x为true,返回false,否则返回true not x 返回False

note:
and注解:
1.在python中,and和or执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一
2.在布尔上下文中从左到右演算表达式的值,如果布尔上下文的所有值都为真,那么and返回最后一个值
3.如果布尔上下文中的某个值为假,则and返回第一个假值
or注解:
1.使用or时,在布尔上下文中从左到右演算值,就像and一样。如果有一个值为真,or立刻返回该值
2.如果所有值都为假,or返回最后一个假值
3.注意or在布尔上下文中会一致进行表示式演算直到找到一个真值,然后就会忽略剩余的比较值。
and-or结合使用
1.结合前两种语法,推理即可
2.为了加强程序可读性,最好与括号连用,例如:(1 and x) or y

成员运算

除了以上的一些运算符之外,python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 描述 实例
in 如果在自定的序列中找到值返回true,否则返回false x in y 如果x在y序列中返回true
not in 如果在自定的序列中没有找到值返回true,否则返回false x not in y 如果x不在y序列中返回true

身份运算

身份元酸符用于比较两个对象的存储单元:

运算符 描述 实例
is is是判断两个标识符是不是引用自同一个对象 x is y 如果id(x)=id(y),返回结果为1
is not is not是判断两个标识符是不是引用自不同对象 x is not y 如果id(x)!=id(y),返回结果为1

运算符的先后顺序

先运算比较运算符再运算逻辑运算符

即:先计算> < >= <=,再计算 not and or 先后顺序和优先级就是这样不可变。
示例:
2<4 and 2==4
先运算2<4 和2==4 2<4为true 2==4为false
运算优先等级:自上而下,优先级从高到低。

运算符 描述
指数(最高优先级)
按位翻转,一元加号和减号(最后两个方法名为+@和-@)
乘除法,取模和取整除
加法减法
右移左移
位 and
位运算符
比较运算符
等于运算符
赋值运算符
身份运算符
成员运算符
逻辑运算符

标准数据类型总结:

按存值个数区分

标量/原子类型 容器类型
数字,字符串 列表,元组,字典

按可变不可变区分

可变 不可变
列表,字典 数字,字符串,元组

按访问顺序区分

直接访问 不顺序访问 k-v访问
数字 字符串,列表,元组
上一篇 下一篇

猜你喜欢

热点阅读