haixin3036 发表于 2015-4-28 08:39:50

冲刺豆瓣(18):Python面试之除法

1、Python算术操作概述?
  思路:
  Python操作符:
  (1):单目操作符:正号(+)、负号(-)
  (2):双目操作符:+、-、*、/、%、**、//
  
2、Python除法?
  思路:根据Python版本划分。
     Python Version >> 5/3
1
>>> 1/2
0
  
浮点数:执行真正的除法。



>>> 5/3.0    #只要操作数之一为浮点型即执行真正的除法
1.6666666666666667
>>> 1.0/2.0
0.5
>>>
  
  真正的除法:不管操作数数整型还是浮点型都返回真实的值。



>>> from __future__ import division#导入
>>> 1/2
0.5
>>> 5/3
1.6666666666666667
>>> 5/3.0
1.6666666666666667
>>> 5.0000/3
1.6666666666666667
>>>
  地板除(//):这个操作符是在Python2.2加入的,使用地板除,无论操作数是什么数值类型,都会舍去小数部分,返回比商小的最接近的数字



>>> 5//3#floor resutl ,return integer
1
>>> 5//3.0 #floor result ,return float
1.0
>>> -5//3.0 #返回比商小的最接近的数字,这里是-2.0
-2.0
  
   内建函数:divmod (a,b),返回(a//b,a%b)



>>>divmod(1,2)
(0,1)
>>>divmod(3.14159,1.5)
(2.0,0.4159000000000002)
>>>5+6j//3+2j
2+0j
>>>5+6j%3+2j
-1+2j
>>>divmod(5+6j,3+2j)
((2+0j),(-1+2j))
  
     Python Version >=3.0:      
  / 会执行真正的除法;//执行floor除法。

  注意不同版本之间的问题。
  
3、简述关于数值类型的函数或模块?
  参考Python官网文档,如下:
  


[*]9.1. numbers — Numeric abstract base classes
[*]9.2. math — Mathematical functions
[*]9.3. cmath — Mathematical functions for complex numbers
[*]9.4. decimal — Decimal fixed point and floating point arithmetic
[*]9.5. fractions — Rational numbers
[*]9.6. random — Generate pseudo-random numbers
[*]9.7. itertools — Functions creating iterators for efficient looping
[*]9.8. functools — Higher-order functions and operations on callable objects
[*]9.9. operator — Standard operators as functions

功能函数:


abs(num):返回num的绝对值;
coerce(num1,num2):将num1、num2转换为同类型,然后元祖形式返回;
divmod(num1,num2):见上、
pow(num1,num2,mod=1):取num1的num2次方,如果mod存在则计算结果再对mod进行取余;
round(flt,ndig=1):接受浮点型(flt)对其四舍五入,保存ndig位小数。如果ndig不存在,则默认是小数点后0位。


内建函数:


hex(num):转换为16进制,并字符串返回
oct(num):转换为8进制,并字符串返回
chr(num):(0
页: [1]
查看完整版本: 冲刺豆瓣(18):Python面试之除法