Python运算和运算符

Python运算和运算符

运算: 由一个以上的值经过变化得到新值得过程,就是运算

运算符: 用于运算的符号,就是运算符

1.算术运算符

+   加法运算  还是 字符串连接符
-   减法运算
*   乘法运算
/   除法运算
%   取余运算
//  取商运算
**  幂运算

2.比较(关系)运算符

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

3.赋值运算符

=     普通赋值运算
+=    加法赋值运算
-=    减法赋值运算
*=    乘法赋值运算
/=    除法赋值运算
%=    取余赋值运算
//=   取商赋值运算
**=   幂赋值运算

所有运算赋值操作的格式都可以转换为[ 变量 = 变量 运算符 值 ] 如:

var += 5   相当于   var = var + 5

4.逻辑运算符

逻辑运算就是布尔值之间的运算,Python只有三种运算方式:

1).and 逻辑与运算(有假则假;两边为真才是真)

'''洗手:
    左手洗了True,右手洗了True,洗完了 True
    左手洗了True,右手没洗False,没洗完 False
    左手没洗False,右手洗了True,没洗完 False
    左手没洗False,右手没洗False,没洗完 False
'''    
z = 3 > 2 and 4 > 3
z = 2 > 3 and 5 > 2

print(z)

2).or 逻辑或运算(有真则真;两边为假才是假)

'''钥匙丢了找钥匙:
    你没找到钥匙False,你媳妇也没有找到钥匙False,没进家门 False
    你找到了钥匙True,你媳妇没找到钥匙False,进家门 True    
    你没有找到钥匙False,你媳妇找到了钥匙True,进家门 True
    你和你媳妇同时找到了钥匙True和True,进家门 True
 '''   
z = 3 > 2 or 5 > 2
z = 2 > 5 or 6 > 3

print(z)

3).not 逻辑非运算(真变假,假变真)

'''老爷们去了泰国
    纯爷们儿True,做了手术,不是纯爷们儿了 False
'''
z = not True

a = 10
if(not a):
    print(10)
else:
    print(20)
print(z)

5.位运算符

在二进制基础上进行的逻辑运算就是位运算。

&       按位与运算      参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|       按位或运算      只要对应的二个二进制位有一个为1时,结果位就为1
~      按位取反运算    对数据的每个二进制位取反,即把1变为0,把0变为1 
^       按位异或运算    如果两个位中只有一位为 1,则将每个位设为 1 
<<      左移运算        相当于×2运算
>>      右移运算        相当于地板除2运算

6.成员运算符

检测一个数据是否在指定的容器(复合数据)当中

'''检测数据1是否在数据2中
    格式:数据1 in 数据2

检测数据1是否不在数据2中
    格式:数据1 not in 数据2
'''    
    
# list = [20,30,40]
# tuple = (3,4,5,6,20)
# sets = {20,30,40,50}
dicts = {'name':'joker','age':20}
c = 'name'  # 对应字典里面下标

strs = 'likeyou'
c = 'like'  

z = c in strs
print(z)

7.身份运算符

检测两个变量在内存中是否是同一个值

检测两个变量在内存中是不是同一个值
    格式:数据1 is 数据2

检测两个变量在内存中是否不是同一个值
    格式:数据1 is not 数据2

运算优先级的问题

例如:在数学中,1+5x2,乘法会优先运算。
我们的Python程序也是一样的,一个运算中存在多个运算符时,系统也有它自己的一套优先级的规则。
Python的运算优先级规则如下,从上向下按照优先级的由高向低依次排序
但是我们并不推荐各位死记硬背,因为我们自己写程序遇到优先级问题可以使用()解决,更方便,也更易读。

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

检测数据归属类型

type()        测试时可使用,开发尽量避免使用
    格式:type(变量)

isinstance()  检测一个数据是否由指定的类型创建
    格式:isinstance(变量,检测的类型)
上一篇:004.小程序-自定义组件


下一篇:搭建小程序本地后台&封装请求接口