Python数字类型的运算

来自CloudWiki
跳转至: 导航搜索


数字类型的运算

数值运算操作符

  • python提供了九个基本的数值运算操作符,这些操作符由python解释器直接提供,也叫做内置操作符。
x+y :x与y之和
x-y :x与y之差
x*y :x与y之积
x/y :x与y之商
x//y :x与y之整数商,即:不大于x与y之商的最大整数
x%y : x与y之商的余数,也称为模运算
-x :x的负值,即:x*(-1)
+x : x本身
x**y :x的y次幂
  • 示例操作:
>>> x,y=2,3
>>> x+y
5
>>> x-y
-1
>>> x*y
6
>>> x/y
0.6666666666666666
>>> x,y=9,2
>>> x/y
4.5
>>> x//y
4
>>> x%y
1
>>> -x
-9
>>> +x
9
>>> x**y
81

赋值运算:增强版

上标所有二元运算操作符(+、-、*、/、//、%、**)都可以与等号(=)相连,

形成增强赋值操作符(+= 、-=、*=、/=、//=、%=、**=)。

用op表示这些二元运算操作符,增强赋值操作符的用法如下:

x op= y 等价于 x = x op y
>>>x = 99
>>>x **=3 # 与x = x**3等价
>>>print(x)
970299

数值运算规则

数值运算可能改变结果的数据类型,类型的改变与运算符有关,有如下基本规则:

  • 整数和浮点数混合运算,输出结果是浮点数;
  • 整数之间运算,产生结果类型与操作符相关,/运算的结果

是浮点数;

  • 整数或浮点数与复数运算,输出结果是复数。
>>>1010/10 # /运算的结果是浮点数
101.0
>>>1010.0//3 # 浮点数与整数运算,产生结果是浮点数
336.0
>>>1010.0 % 3 # 浮点数与整数运算,产生结果是浮点数
2.0
>>>10 - 1 + 1j # 等价于 10 – (1 - 1j)
(9+1j)

数值运算函数

  • 函数 描述
  • abs(x) x的绝对值
  • divmod(x,y) 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(x//y, x%y)
  • pow(x,y) x的y次幂
  • round(x,n) x四舍五入,保留n位小数
  • max(x1,x2,...,xn) x1,x2,x3,...xn的最大值
  • min(x1,x2,...,xn) x1,x2,x3,...xn的最小值


  • abs(x): 求绝对值
>>> x,y = 9,2
>>> abs(x)
9
>>> abs(-x)
9
  • divmod(x,y):获得除法的商和余数
>>> x,y = 9,2
 >>> divmod(x,y)
(4, 1)
  • pow(x,y)
>>> x,y = 9,2
>> pow(x,y)
  • round(x)

"4舍6入5看齐,奇进偶不进" 关于round,接力分析,结论如下: 当个位为奇数,小数部分>=0.5入,其余为舍 当个位为偶数,小数部分>0.5入,其余为舍。

>>> x = 4.5
>>round(x)
  • max(x1,x2,x3,...,xn)
>>> x, y, z = 1, 2, 3
>>> max(x,y,z)
  • min(x1,x2,x3,...,xn)
>>> x, y, z = 1, 2, 3
>>> min(x,y,z)
>>> s=[1,3,7,9,11,23,4,6,8]
>>> max(s)
23

案例:三天打鱼,两 天晒网

“三天打鱼,两 天晒网” 常以此来比喻一个人对学习或工作没有恒心,经常中断,不能长久坚持。如果将1.0作为能力值的基数,好好学习一天能力值相比前一天提高1%,懒惰懈怠一天能力值比前一天下降1%,可以得出 “三天打鱼,两天晒网”的公式,请将下列公式转换为代码进行验证。

 (1.0+0.01)^3×(1.0−0.01)^2<(1.0+0.01)

分析:

 可以使用pow(x, y)函数进行几次方计算;