python三种运算符_Python基础-4 运算符

运算符

运算符:以1 + 2为例,1和2被称为操作数,“+” 称为运算符。

Python语言支持以下类型的运算符:

算术运算符

比较(关系)运算符

赋值运算符

逻辑运算符

位运算符

成员运算符

身份运算符

三目运算符

算术元运算符

以下假设变量: a=10,b=20:

python中,有三种除法,分别是

10/3 3.333333333

1.计算结果是浮点数,即使两个整数恰好整数,结果也是浮点数

9/3 3.0

2.只取整数部分,余数被抛弃

10//3 3

3.余数运算,可以得到两个整数相除的余数

10%3 1

如果想同时得到商和余数,可以用这个方法

divmod(10,3)(3,1)

因为浮点数精度的问题,Python还存在一些计算方面的小问题

0.1+0.1+0.1-0.3

5.551115123125783e-17

要解决这个问题,可以导入decimal模块

from decimal import Decimal

Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')

Decimal('0.0')

比较运算符

1.下面三个选项哪个为True?

'abc' < 'xyz'

# 为什么字符串可以进行大小比较,这是因为电脑存储字符时,是以ASCII码值存储的

也就是A是65,z是90.你输入的字符也是一个对应的数字

(3,2) < ('a','b')

2.请分别说出下面各项的值:

True == 1

False == 0

3>2>1

3>2>2

(3>2)>1

(3>2)>2

对于连续比较,Python是按这种机制解释的:

3>2>1 等于 (3>2) and (2>1) ,相当于两个比较,然后用与&再结合起来。

赋值运算符

注意对于 a /= b 之类的操作,等同于a = a / b, 而不是 = b /,方向一定不要搞反了。

a = 1

a++

print(a)

在python中是没有++的这种写法

位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

逻辑运算符

Python语言支持逻辑运算符,但是没有其它语言中的&&和||语法,取而代之的是更加人性化的英文单词and or not(全部都是小写字母)。以下假设变量 a 为 10, b为 20:

x = False

y = True

x and y

False

a = 10

b = 20

a and b

20

成员运算符

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

list1 = [1, 2, 3, 4, 5]

a = 1

for i in list1:

if i == a:

print("a在list1中")

else:

print('a不在list1中')

flag = False

for i in list1:

if i == a:

flag = True

break

if flag:

print("a是list1的元素之一")

else:

print("a不是list1的元素")

如果用in运算符来做的话,就不用这么麻烦了

list1 = [1, 2, 3, 4, 5]

a = 1

if a in list1:

print("a是list1的元素之一")

else:

print("a不是list1的元素")

身份运算符

这也是Python的特色语法(全部都是小写字母)。

注意is与比较运算符“==”的区别,两者有根本上的区别,切记不可混用:

is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等!

a = [1,2]

b = a

b is a

Ture

b == a

Ture

b = a[:]

b is a

False

b == a

Ture

a = 2

b = 2.0

b is a

a == b

三目运算符

python中的三目运算符不像其他语言一般的表示方法:判定条件?为真时的结果:为假时的结果。

在python中的格式为:为真时的结果 if 判定条件 else 为假时的结果,例如:

a = 1

b = 2

h = ""

h = a-b if a>b else a+b

如果a>b执行a-b,如果a

运算符优先级

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值