算术运算符
a=5 ,b=3
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | a+b结果8 |
- | 减 | a-b结果2 |
* | 乘 | a*b结果15 |
/ | 除述 | a/b结果1 |
% | 取余数 | a%b结果 |
** | 次方 | a**b 结果8相当于53 |
// | 取整除(向下取整数) | 9//2 结果4 -9//2结果-5 |
a=5
b=3
print('+',a+b)
print('-',a-b)
print('*',a*b)
print('/',int(a/b))
print('%',a%b)
print('**',a**b)
print('//1',-9//2)
print('//2',9//2)
print('c'*5)
注:/不能整除的时候不会取整
如果是str*5 意思是输出5次字符串
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单赋值 | a=b |
+= | 加法赋值 | a+=b相当于a=a+b |
-= | 减法赋值 | a-=b相当于a=a-b |
*= | 乘法赋值 | a*=b相当于a=a*b |
/= | 除发赋值 | a/=b相当于a=a/b |
%= | 取余数赋值 | a%=b相当于a=a%b |
**= | 次方 | 赋值a**=b相当于a=a**b |
//= | 取整除赋值(向下取整数) | a//=b相当于a=a//b |
关系运算符
运算符 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
#-*- coding:utf-8 -*-
age=20
age1=21
name='小名'
name1='小明'
name2='小名'
result1=age==age1
result2=age<=age1
result3=age!=age1
result4=name!=name1
result5=age is age1 #身份运算符
result6=name is name2
print('result1:{}'.format(result1))
print('result2:{}'.format(result2))
print('result3:{}'.format(result3))
print('result4:{}'.format(result4))
print('result5:{}'.format(result5))
print('result6:{}'.format(result6))
# in not in 成员运算符
逻辑运算法
运算符 | 描述 | 逻辑运算 |
---|---|---|
and | 逻辑与 | True and True ---->True True and False—>False False and False—>False |
or | 逻辑或 | Ture or Ture—>True True or False—>True False or False—False> |
not | 逻辑非 | not True—>False not False—>True |
位运算符
python 中各进制描述
进制类型 | 规则 | 代表符号 | 转换方法 |
---|---|---|---|
二进制 | 满2进1 | 0b | bin() |
八进制 | 满8进1 | 0o | oct() |
十进制 | 满10进1 | 10 | int() |
十进制 | 满16进1 | 0x | hex() |
位运算符号
运算符号 | 描述 | 实例 |
---|---|---|
& | 按位与:参与运算的两个值,转换二进制1为真0为假。按照对应位的and逻辑运算 | print(3&2) 3---->0000 0011 2—>0000 0010 结果:0000 0010 —>2 |
| | 按位或:参与运算的两个值,转换二进制1为真0为假。按照对应位的or逻辑运算 | print(3|2) 3---->0000 0011 2—>0000 0010 结果:0000 0011 —>3 |
~ | 按位取反:总结: -x-1 这里需要清楚知识点有以下几点: 1、是补码取反 2、负数是以补码来存储的 3、负数的补码相当于负数的正数源码取反按位+1 4、正数的源码、反码、补码一样 | print(~5) 5---->0000 0101 源码=补码 ,取反—>1111 1010 第一位符号位是1代表着是负数。负数补码->正数源码 按位-1 取反0000 0111 结果:正数源码的0000 0111)—>加上负号 是 -6 ---------------------------------------------------- print(~-6) 6—>0000 0110—>1111 1001—>1111 1010—>0000 0101—>5 |
^ | 按位异或:参与运算的两个值,转换二进制,相同的取0,不同的取1 | print(60^13) 60—>0011 1100 13—>0000 1101 0011 0001—>49 |
<< | 左移动运算符:二进制按位左移若干位,由<<右边的数字指定移动位数。高位丢弃,低位补0 | print(60<<2) 60—>0011 1100 左移两位–>1111 0000—>240 |
>> | 右移动运算符:二进制按位右移若干位,由>>右边的数字指定移动位数。 | print(60>>2) 60—>0011 1100 右移两位—>0000 1111—>15 |
三目运算
格式: ‘真的结果’ if ‘条件’ else ‘假的结果’
result=(10+8)if 10<8 else 10-8
print(result)
运算符优先级
由高到低 、 由左到右
- **(次方)
- ~ + - (位运算符取反、一元加号、减号)
- * / // %(乘除)
- + -(加减)
- << >>(位运算符 左移右移)
- &(位 与)
- ^ (位异或)
- |(位 或)
- == != > >= < <= (关系运算符)
- is is not (身份运算符)
- not and or (逻辑运算符)
- = (赋值)