python整数除法的意义_Python-基础-数字小结

##数字

python中的数字类型完整工具:

整数&浮点数,复数,固定精度十进制数,有理分数,集合,布尔类型,无穷的整数精度,各种数字内置函数和模块

###数类型

Python中有四种类型的数

整数:一般意义上的数,包含十进制(无前缀),八进制(0开头),十六进制(0x开头),二进制(0b开头)

eg. 2

长整数:无限大小的数,表示范围和内存有关

eg. 2012121200

浮点数:小数或用e/E(10的幂)表示的幂,默认,浮点数学缺乏精确性,可以使用decimal

eg. 3.23 50.2E2

复数:复数的虚部以字母J 或 j结尾

eg. 2+3i

1.分数

:::python

from fractions import Fraction

x = Fraction(1,3)

y = Fraction(4,6)

浮点数和分数转换:

(2.5).as_integer_ratio() #返回元组(5,2)

或者Fraction.from_float(1.75)

2.复数

a = 实数 + 虚数j

a.real #实部

a.imag #虚部

a.conjugate() #共轭复数

虚数不能单独存在, 总是和一个值为0.0的实数部分一起构成一个复数

实数部分和虚数部分都是浮点数

###运算符

+加法

-减法

*乘法

**幂次(也可以使用内建的pow()函数来进行幂运算)

/除法(2.x中是整除,3.x是浮点除)

//取整,商的整数部分强制整除(浮点数也会做整除运算)

%取余(可以使用内建的divmod()函数获得结果和余数的元组)

&位与

|位或

^位异或

~位翻转 x -> -(x+1)

<

>>右移

值不相等 a != b

运算符优先级,同级从左到右

BP:良好的做法是随时根据优先级需要加入括号,而不是依赖默认优先级

###内置函数

最常用round

1.abs(number)

返回数字的绝对值,

如果是复数, 返回math.sqrt(num.real2 + num.imag2)

2.coerce(number1, number2)

按照类型转换规则,将num1和num2转为同一类型,以元组形式返回

3.divmod(number1, number2)

返回一个包含商和余数的元组

整数返回地板除和取余操作结果

浮点数返回的商部分是math.floor(number1/number2)

复数的商部分是ath.floor((number1/number2).real)

4.pow(num1,num2,mod=1)

同**操作符

第三个为可选参数,即一个余数操作,若存在这个参数,先指数,后与第三个参数取余,性能比pow(x,y)%z更高

5.round(number[, base])

对浮点数进行四舍五入运算,base参数是小数位参数,决定了精确到小数点后几位

6.其他

其他内建及工厂函数在后面类型转换和进制转换中说明

###类型转换

转换工厂函数

主要在类型转换和进制转换中用到

int(str, base=10) 转换为整型数,base为相应的进制;base的范围是2~32,base缺省十进制

long(obj,base=10), 转长整型

float(obj),转浮点数

complex(str),complex(real, imag=0.0), 转复数

bool(obj) 返回obj对象的布尔值,即obj.__nonzero__()方法返回值,没有__nonzero__()方法的对象默认值是True

string(),转字符串

chr(num) ASCII数字值转为字符

ord(chr) 字符转对应ASCII/Unicode值

unichr(num) 接收Unicode码值

###进制转换

八进制:0o1

十六进制:0x10

二进制0b1

1.十进制到其他

:::python

oct(64) #->8

hex(64) #->16

bin(64) #->2

接收一个整型对象(任意进制),返回对应值的字符串

2.其他到十进制

:::python

int(‘64’)

int(‘100’,8)

int(‘40’,16)

int(‘1000000’,2)

#或者

eval(‘64’)

eval(‘0o100’)

eval(‘0x40’)

eval(‘0b1000’)

###其他

1.小整数缓存

>>> a = -5

>>> b = -5

>>> a is b

True

>>> a = -6

>>> b = -6

>>> a is b

False

>>> a = -6

>>> b = -6

>>> a is b

False

>>> a = 256

>>> b = 256

>>> a is b

True

>>> a = 257

>>> b = 257

>>> a is b

False

看python源代码可知,下限-5,上限256被设定为缓存范围。

2.除法

关于传统除法/真正除法/地板除

传统除法

>>> 1/2

0

>>> 1.0/2.0

0.5

真正除法

>>> from __future__ import division

>>> 1/2

0.5

>>> 1.0/2.0

0.5

地板除

>>> 1//2

0

>>> 1.0//2.0

0.0

>>> -1//2

-1

###常用模块

math

random

decimal

operator

下一篇数学常用模块中说明

The end!

To be continue

wklken

Email: wklken@yeah.net

2013-03-09

转载请注明出处,谢谢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值