Python 第三讲 Python中的运算符

一、Python中的算术运算符

             运算符

             描述

+
-
*
/
%返回除法的余数
**幂次
//返回商的整数部分
# print(1 + 0.5)  # 1.5 浮点型
# print(3 - 2.0)  # 只要参与运算的有浮点数,那返回类型为浮点型
# print(10 / 2)  # 5.0 除法运算结果都为浮点数
# print(9 / 4)
# print(9 // 4)  # 整除,向下取整--取邻近这个数的整数,但要比这个数小
# print('------------------')
# print('-'*100)
# print(10 % 3)  # %:模,x%y等价于x-((x//y)*y)) 取余
# print(-10 % 3)  # 2 -10//3=-4 -4*3=-12 -10-(-12)=2
# print(2**2)  # 2^2等价于2的幂次
# print(10-2*3)
# divmod() 一次性得到整除的商和余数

二、Python中的比较运算符

             运算符

             描述

==比较值是否相等
!=比较值是否不相等
>大于
<小于
>=大于等于
<=小于等于
# print(1 == 1)  # True
# print(True == 1)  # True True可以看作数值1
# print(False == 2)  # False可以看作数值0u
# print(1.0 == 1)  # 比较运算符--比较的是数值
# print('1.0' == 1)  # 字符串不是数值
# print(1 != 2)
# print(1 <> 2) # 错误示范,在python3废除了这种写法
# 字符串与字符串作比较?
# print('abc' < 'abd')  # True 
# print('a' < 23)  # str类型与int类型,数据类型不同,不能作比较
# print('a' >= 'a')

注意:

  1. int不能直接与str比较
  2. python3中不支持<>号,如:--->( 2<>3)
  3. ==与!=符号不能分开写成= =
  4. str与str之间比较的是ASCII,并且逐个比较

三、Python中的赋值运算符

运算符描述实例
=赋值运算符c=a+b
+=加法赋值运算符c+=a等效c=c+a
-=减法赋值运算符c-=a等效c=c-a
*=乘法赋值运算符c*=a等效c=c*a
/=除法赋值运算符c/=a等效c=c/a
%=取余数赋值运算符c%=a等效c=c%a
**=幂赋值运算符c**=a等效c=c**a
//=取整除赋值运算符c//=a等效c=c//a

四、Python中的逻辑运算符

运算符表达式描述
anda and b逻辑与,a与b都为True则返回为True
ora or b逻辑或,a与b只要有一个为True则返回True
notnot a逻辑非,当a为True,not a则为False
# 逻辑运算符(且、或、非)
a = True
b = True
c = False
d = False
# print(a and b)  # True
# print(a and c)  # False
# print(a or c)  # True
# print(not c)  # True,not是反着来的

五、Python中的位运算符

运算符描述
&按位与:两者都为1才为1,否则为0
|按位或,只有一个为1则为1,否则为0
^按位异或:两者相等则为0,否则为1
# 位运算符
# a = 10
# b = 13
# print(bin(a), bin(b), sep='\n')
# print(bin(a ^ b))  # ob代表二进制数值 bin() 计算二进制,将数值转化为二进制

# 按位与
# a = 60
# b = 13
# print(bin(a))  # 111100
# print(bin(b))    # 1101
# print(a&b)       # 1100  1*2^3+1*2^2+0*2^1+0*2^0=12

# 按位或
# a = 60
# b = 13
# print(bin(a))  # 111100
# print(bin(b))    # 1101
# print(a | b)       # 111101  1*2^5+1*2^4+1*2^3+1*2^2+1*2^0=61

# 按位异或^
# a = 60
# b = 13
# print(bin(a))  # 111100
# print(bin(b))    # 1101
# print(a ^ b)   # 110001       1*2^5+1*2^4+1*2^0=49
# print(bin(a ^ b))  # 0b 110001

# print(oct(a)) # 十进制转八进制
# print(hex(a)) # 十进制转十六进制
# print(bin(a)) # 十进制转二进制
# print(chr(97))

# 按位补码运算符
# a = 13
# print(bin(a))   # 1101
'''
~a=~1101
  =-(1101+1)
  =-(1110)
  =-14
'''
# print(~a)  # -14

# 按位左移运算符
a = 10  # (向右移动两位增加字长)1010<<2=101000
print(a << 2)  # 1010<<2 = 101000 = 40
# 按位右移运算符
b = 10 # (向左移动两位右侧位数删除)1010>>2=10
print(b >> 2)  # 1010>>2 = 10 = 2

六、Python中的成员运算符和身份运算符

1、成员运算符

in与not in是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合元素之一,非常好用,并且运行速度很快。返回结果为布尔值类型的True或者False

运算符描述
in判断某个值是否在指定序列中,在则返回True
not in判断某个值是否在指定序列中,不在则返回True

2、身份运算符

身份运算符也是Python的特色语法(全部小写字母)

运算符描述
is判断两个对象内存地址是否一致,是则返回True
not is判断两个对象内存地址是否不一致,不是则返回True
# 成员运算符与身份运算符
# 成员运算符(in、not in:判断某值是否在指定序列中)
# name = 'ZKH'
# name1 = 'ximeng'
# class_room = ['小许', '任雨', '砥砺前行', 'Paranoid', 'May', 'ZKH']  # []代表列表
# print(name in class_room)  # True
# print(name1 not in class_room)  # True
# 身份运算符(is、is not:判断两个对象的内存地址是否一致)
# a = [1, 2, 3]
# b = [1, 2, 3]
print(id(a)) # id()是查看内存地址
print(id(b))
print(a is b)  # True
print(a is not b)  # False

注意:is与==的区别

  1. is用于判断两个变量的引用是否为同一个内存地址(可使用id()查看)

  2. ==用于判断两个变量是否相等

七、Python中的三目运算符

1、python中三目运算符的表示方法:

True_statements if expression else False_statements

a = float(input('请输入a的值:'))
b = float(input('请输入b的值:'))
print('a, b中较大的值为:', a if a > b else b)
if a and b != 0:
    print(a/b)
    pass
else:
    print(a * b)

八、python中的运算符优先级

运算符优先级

下表列出了从最高到最低的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)

运算符描述
**指数(最高优先级)
* / % //乘除取余整除
<=、<、>、>=比较运算符
= 、% =、/=、//=、-=、+=、*=、**=赋值运算符
is 、is not身份运算符
in、in not成员运算符
not or and逻辑运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值