Python表达式和运算符

表达式:

表达式,就是由变量、运算符、数字、数字分组符号(括号)等以能求得数值的有意义排列方法所得的组合

运算符:

1.算数运算

+   加法运算
a=2+9
print(a)
11
-   减法运算
a=9-2
print(a)
7
*   乘法运算
a=9*2
print(a)
18
/   除法运算
a=9/2
print(a)
4.5
注意:Python 2.X版本中取整四舍五入  3.X版本直接除法运算
%   取余运算
a=9%2
print(a)
1
//  取整运算、地板除
a=9//2
print9(a)
4
**  指数运算、幂运算
a=9**2
print(a)
81

2.比较运算

==  等于运算
!=  不等于运算
>   大于运算
<   小于运算
>=  大于等于运算
<=  小于等于运算
Python中没有===和!==运算,类型不同就是不等于

3.赋值运算

=  普通赋值
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取余赋值
//= 取整赋值
**= 幂赋值
Python中没有自增自减运算 ++ --
a+=7a=a+7
以上同理

4.逻辑运算

and 与  两边条件有一个为假,整个条件语句的条件就不成立
or  或  运算符两边条件任意一个为真,则该条件语句条件就为真
not 非  条件取反
也可理解:
and为乘法运算
or 为加法运算
True=1
False=0
print(False and True or False)
0*1+0=0
False
print(False or True and True)
0+1*1=1
True
当逻辑运算能够确定未来值时,自动停止运算
print(True or......)
永远为True

5.位运算

位运算就是在二进制基础上进行的逻辑运算,将0视为False,将1 视为True进行的运算
& 按位与运算:
按位与运算就是将数据转化为2进制数据然后进行每个位上的逻辑与运算

变量 = 值1  
&
  值2
| 按位或运算
按位或运算就是将数据转化为2进制数据然后进行每个位上的逻辑或运算

变量 = 值1 | 值2
~按位非运算
按位非运算就是将数据转化为2进制数据然后进行每个位上的逻辑非运算

变量 = ~值

注意:按位非运算之后计算机会进行反码和补码的相关操作之后进行数据存储。
^按位抑或运算
按位抑或运算就是将数据转化为2进制数据然后进行每个位上的逻辑抑或运算

变量 = 值1 ^ 值2
左移运算

将数据转化为二进制之后,将二进制数据的所有数据向左移动指定的位数

变量 = 值 
<<  移动位数

特征:左移N位相当于乘以2的N次方,此方法速度远高于乘法
右移运算

将数据转化为二进制之后,将二进制数据的所有数据向右移动指定的位数,如果数据移除右侧边界,则会被删除,实际上相当于采用了地板除!

变量 = 值 
>>  移动位数

特征:右移N位相当于除以2的N次方,舍弃小数部分。此方法速度远高于除法

6.成员运算

in 检测一个值在制定序列类型里
not in 相反
a=[1,2,3]
print(4 in a)
False

a=[1,2,3]
print(4 not in a)
True

7.身份运算

is  检测值1是不是和值2在内存中是否是同一个值
is not   相反
a='i love Python'
b='i love Python'
print(a is b)
False

运算优先级

**  指数 (最高优先级)
~ + -   按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //    乘,除,取模和取整除
+ - 加法减法
>> <<   右移,左移运算符
&   位 'AND'
^ | 位运算符
<= < > >=   比较运算符
== !=    等于运算符
= %= /= //= -= += *= **=    赋值运算符
is is not   身份运算符
in not in   成员运算符
not or and  逻辑运算符
()里的优先级最高,推荐用()解决优先级问题

检测数据归属

type()测试时可以使用,开发尽量避免使用
isinstance()  检测一个数据是否由制定的类型创建
isinstance(变量,检测的类型)
a='i love Python'
print(isinstance(a,str))
True

你可能感兴趣的:(Python,从入门到毁灭)