代码改变世界

Python学习笔记《Python核心编程》第5章 数字

2013-01-18 16:35  VVG  阅读(1039)  评论(0编辑  收藏  举报

python 支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。

数字类型函数:

      1、转换工厂函数

           函数int()、long()、float() 和 complex() 用来将其他数字类型转换为相应的数值类型。

           int(4.25555)          #4                  |       int(obj,base=10)    返回一个字符串或者数值对象的整型表示

           long(42)               #42L                |      long(obj,base=10)  返回一个字符或者数据对象的长整型表示

           float(4)                 #4.0                |      float(obj)  返回一个字符串或者数据对象的浮点型表示

           complex(4)            #(4 + 0j)         |      complex(str) or complex(real,inag=0.0) 返回一个字符串的复数表示,或者根据给定的实数生成一个复数对象

           complex(2.4,-8)     #(2.4-8j)         |      ______↑

功能函数:

          python有5个运算内建函数用于数值计算:abs()、coerce()、divmod()、pow()和round()。

          abs() 取绝对值     abs(-1)  =>   1

          coerce(num1,num2) 将num1和num2转换为同一类型,返回一个包含类型转换完毕的两个数字元素的元组。 coerce(1,2)   => (1,2)

          divmod(num1,num2) 把除法和取余运算结合起来 ,返回一个包含商和余数的元组(num1/num2,num1%num2)

          pow() 和双星号(**) 进行指数运算。其中pow()还可以接受第三个可选参数,即一个余数参数,pow()先进行指数运算,然后将运算结构和第三个参数进行取余运算。

          round() 用于对浮点型进行四舍五入运算。它有一个可选的小数位数参数。第二个参数告诉round函数将结果精确到小数点后指定位数。

          round(3.4999999,1)         # 3.5

仅用于整型的函数:

         进制转换函数oct() 和 hex()

         oct() 转换为8进制,hex()转换为16进制

         oct(8)    #010       hex(16)    #0x10

ASCII转换函数:

         chr()接受一个单字节整型值,返回一个字符串,其职位对应的字符。

         ord()则相反,接受一个字符,返回其对应的整型值。

         chr(97)    # a        ord('a')     #97

其他数字类型:

         布尔“数”,尽管布尔值看上去是“True”和“False”,但是事实上市整型的子类,对应整型的1和0

         对于值为零的任何数字或空集在python中的布尔值都是Flase,在数学运算中Boolean值对分别对应1和0

     相关模块:decimal  —— 十进制浮点运算类Decimal

                   array  ——  高效数值数组(字符、整型、浮点型等)

                   math/cmath    标准C库数学运算函数,常规数学运算在match模块,复数运算在cmath模块

                   operator  —— 数字操作符的函数实现

                   random  —— 多种伪随机数生成器:

                                randint()    两个整型参数,返回二者之间的随机整数

                                randrange()    它接受和range()函数一样的参数,随机返回range([start,]stop[,step])结果的一项

                                uniform()    几乎和randint()一样,不过返回的是二者之间的一个浮点型(不包括范围上限)

                                random()    类似于uniform(),只不过下限恒等于0.0,上限恒等于1.0

                                 choice()     随机返回给定序列的一个元素