Python运算符

目录

 

1. 赋值运算符: =

2. 算术运算符

3. 位运算符

4. 比较运算符

5. 逻辑运算符

6. in运算符

7. 三目运算符

8. 运算符优先级


1. 赋值运算符: =

可以直接给变量赋值,也可以将一个变量的值赋值给另一个变量,也可以几个变量同时赋值;

num1 = 20190730
num2 = num1
num3 = num4 = 123456

注:扩展赋值运算符

+=对于x+=y,实际含义为x=x+y;
-=对于x-=y,实际含义为x=x-y;
....... 

赋值运算符可以与算术运算符和位运算符结合,进而扩展赋值运算符;

2. 算术运算符

+加法运算符,也可作为字符串的连接符
-减法运算符,还可用来求负数
*乘法运算符,还可作为字符串的连接符,如有一个字符串str1,3*str1表示将3个str1连接起来
/除法运算符
//整除运算符,使用其获得结果的整数部分
%求余运算符,不要求除数和被除数都为整数,支持对浮点数求余
**乘方运算符

3. 位运算符

将数据按照二进制进行计算;

&按位与两个操作数对应位全都为1结果才为1
|按位或两个操作数对应位存在1结果就为1
^按位异或两个操作数对应位不同为1
~按位取反1变0,0变1(包括符号位)
<<左位移运算符 
>>右位移运算符 
# 求反运算
num1 = 17
# 00010001  最高位为符号位,0表示正数,1表示负数;
num2 = 15
# 00001111
print(~ num1)
# 11101110  符号位为1,变为负数,负数以补码形式存储
# 输出:-18
print(~ num2)
# 11110000
# 输出:-16
# 左位移运算
num1 = 17
# 00010001  最高位位符号位,0表示正数,1表示负数;
num2 = 15
# 00001111
print(num1 << 1)
# 00100010
# 输出:34
print(num2 << 2)
# 00111100
# 输出:60

左位移运算符是将操作数的二进制码指定左移位数,左移后右边空出来的位以0填充

右位移运算符是将操作数的二进制码右移指定位数后,左侧空出来的位以原来的符号位填充,即操作数如果为正数,则补充0,操作数如果为负数,补充1;

# 右位移运算
num1 = 17
# 00010001  最高位位符号位,0表示正数,1表示负数;
num2 = -15
# 补码表示:11110001
print(num1 >> 1)
# 00001000
# 输出:8
print(num2 >> 2)
# 11111100
# 输出:-4

4. 比较运算符

bool 类型:表示对与错,只有两个值 True / False ;

> 
>= 
< 
<= 
== 
!= 
is判断两个变量所引用的对象是否相同,如果相同返回True
is not判断两个变量所引用的对象是否不相同,如果不相同返回True

注:True在程序中也可当成整数1使用,False当作整数0使用;

print("1和True是否相等:", 1 == True)
# 输出:1和True是否相等: True
print(True+False)
# 输出:1

5. 逻辑运算符

用于操作bool类型的变量、常量或表达式,逻辑运算的返回值也为bool类型;

and两个操作数都为True才返回True
or只要有一个操作数有一个是True,返回True
not操作数为True,返回False;

6. in运算符

判断某个成员是否在序列中;如判断字符串是否包含某子串;

如果在,返回True;不在,返回False;

Python也提供了与它相反的运算:not in

str1 = "good good study day day up"
print("day" in str1)
# True

7. 三目运算符

运算格式: 判断正确执行的语句  if  判断条件  判断错误执行的语句

money = input("爸妈给了多少钱:")
print("买欧文5") if int(money) > 500  else print("买克莱4")

注:执行的语句可以放置多条语句,此时需要将多条语句用括号括起来,Python支持两种放置方式:

1)多条语句以逗号隔开,每条语句都会执行,程序返回多条语句的返回值组成的元组;

2)多条语句以分号隔开,每条语句都会执行,程序只返回第一条语句的返回值;

money = input("爸妈给了多少钱:")
(print("买欧文5"),print("欧文5:999元"),print("剩余的钱:", int(money)-999))if int(money) > 1000  else print("买克莱4")
# 爸妈给了多少钱:1050
# 买欧文5
# 欧文5:999元
# 剩余的钱: 51

# 爸妈给了多少钱:500
# 买克莱4

8. 运算符优先级

优先级从高到低为:

索引运算符x[index]
乘方**
按位取反~
符号运算符+、-
乘除*、/、//、%
加减+、-
位移>>、<<
按位与&
按位异或^
按位或|
比较运算符==、!=、>=、<=、>、<
is运算符is、is not
in运算符in、not in
逻辑非not
逻辑与and
逻辑或or

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值