python数据分析(一) python当中的数据类型--数字和常用函数 (2)

下表中变量 a 为 60,b 为 13二进制格式如下:

a = 0011 1100 b = 0000 1101
运算符描述实例
&   按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0   (a & b) 输出结果 12 ,二进制解释: 0000 1100  
|   按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。   (a | b) 输出结果 61 ,二进制解释: 0011 1101  
^   按位异或运算符:当两对应的二进位相异时,结果为1   (a ^ b) 输出结果 49 ,二进制解释: 0011 0001  
~   按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1   (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。  
<<   左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。   a << 2 输出结果 240 ,二进制解释: 1111 0000  
>>   右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数   a >> 2 输出结果 15 ,二进制解释: 0000 1111  

内建函数与工厂函数

1.工厂函数

什么是工厂函数,也就是说他们看上去虽然像函数但是实际上是类,当调用时实际上是生成了该类的一个实例,所以把他们叫做工厂函数。

bool(obj)返回对象的布尔值,转换 bool 值时除了 \'\'、""、\'\'\'\'\'\'、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 为 False 外,其他都为 True

In [36]: bool(32)
Out[36]: True

In [37]: bool(\'dasd\')
Out[37]: True

In [38]: bool(0)
Out[38]: False

In [39]: bool(-1)

int(obj)返回对象的整数表示,int可将数字,字符串转成十进制的整型表示, 同时提供一个选项base,将传入的字符串规定为相应的进制,然后转化为10进制

In [47]: int(123)
Out[47]: 123

In [48]: int(\'1fd\',16)
Out[48]: 509

float()返回对象的浮点表示

In [50]: float(4)
Out[50]: 4.0

In [51]: float(\'4\')
Out[51]: 4.0

In [52]:

2.内建函数

对于数值而言,python有4个内置函数用于数值运算:abs(),divmod(),pow(),round()

abs()

返回数值的绝对值需要特殊说明的是对于复数而言,其本质含义是该虚数所代表的向量的长度。比如|a+bi|指的是复数a+bi的模,即复平面上该复数向量a+bi的长度=根号(a的平方+b的平方)。

divmod()

它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致。对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。在任何情况下, q * b + a % b 和 a 基本相等;

pow()

pow和**一样都可以完成对一个数字的次方,不同的是对于pow而言可以多接受一个参数(数字)完成对此数字取余,pow(x,y,z) 效率比pow(x,y)%z高。

round(num[,ndigits])

返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzgss.html