python标准算术操作符有哪些_在python中的算术操作符

Python 的算术操作符大多数和大家知道的数学运算符一样:

+ 、一、 * 、% 、**、//

前面四个就不用介绍了,加、减、乘、除,大家都懂。不过下面要介绍的小技巧倒不是所有人都知道的。

例如,当想对一个变量本身进行算术运算的时候,是不是会觉得写a=a+1或b=b-3这类操作符特别麻烦?没错,在Python 中可以做一些简化:

>>> a=b=c=d=10

>>> a += 1

>>> b -= 3

>>> C *= 10

>>> d /= 8

>>> print(a, b,c, d)

11 7 100 1.25

如果使用过Python 2.x版本的读者可能会发现,Python3的除法变得有些不同了。

很多编程语言中,整数除法一般都是采用floor的方式,有些书籍将其直接翻译为地板除法。地板除法的概念是:计算结果取比商小的最大整型值(也就是舍弃小数,取整的意思)。

但是在这里我们发现,即使是进行整数间的除法,结果却是返回一个浮点型的精确数值,也就是Python采用真正的除法代替了地板除法。

那有些朋友不乐意了:“萝卜、青菜各有所爱,我就喜欢原来的除法,整数除以整数就应该得到一个整数!”,于是 Python的团队也为此想好了办法,就是大家看到的双斜杠,它执行的就是地板除法的操作:

>>> 3 // 2

1

>>> 3.0 // 2

1.0

注意:

使用地板除法,无论是整型还是浮点型,都将舍弃小数部分。

关于 Python3在除法运算上的改革,支持和反对的几乎各占一半。有些人支持这种做法,因为Python的除法运算从一开始的设计就是失误的,他们想要真正的除法;但有些人又不想因此修改自己的海量代码····无论怎样,这已经是板上钉钉的事情了。Python团队秉承着执着、追求完美的信念不断打造和改进Python,就这件事情本身我们就应为其点赞。

百分号(%)表示求余数的意思:

>>> 5 %2

1

>>> 4 % 2

>>> 520 % 14

2

优先级问题

当一个表达式存在多个运算符的时候,就可能会发生以下对话。

加法运算符说:“我先到的,我先计算!”

乘法运算符说:“哥我运算一次够你翻几个圈了,哥先来!”

减法运算符说:“你糊涂了,我现在被当成负号使用,没有我,你们再努力,结果也是得到相反的数!”

除法运算符这时候默默地说:“抢吧抢吧,我除以零,大家同归于尽!”

为了防止以上矛盾的出现,我们规定了运算符的优先级,当多个运算符同时出现在

一个表达式的时候,严格按照优先级规定的级别来进行运算。

先乘、除,后加、减,如有括号先运行括号里边的。没错,从小学我们就学到了运算符优先级的精髓,在编程中也是这么继承下来的。

举个例子:

-3*2+5/-2-4

相当于:

(-3)*2+5/(-4)-4

Python还有一个特殊的乘法,就是双星号(**),也称为幂运算操作符。例如3**2,星号左侧的3称为底数,右侧的2称为指数,把这样的算式称为3的2次幂。

在使用Python进行幂运算的时候,需要注意的一点是优先级问题。举个例子:

>>> -5 ** 2

-25

>>> 5 ** -2

0.04

从上面的结果可以看出,幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值