python学习笔记1-核心类型-数字

一、Python的数字类型
1、数字常量
python数字类型在程序中如何显示(换句话说,作为常量)
数字 常量
1234,-23,0 一般整数
99999999999L 长整型数(无限大小)
1.23,3,14e-10,4E210 浮点数
0177,0x9ff,0xFF 整数的八进制和十六进制数常量
3+4j,2.0+3.0,3J 复数常量
一般来说,python的数字类型是直接的。有些编程的概念强调如下
整数和浮点数常量:
整数以十进制数字的字符串写法出现。浮点数带一个小数点,也可以加上一个科学计数标志e或E。如果编写一个带有小数点或幂的数字,
Python会将它变成一个浮点数对象,并且当这个对象用在表达式中时,将启用浮点数(而不是整数)的运算法则。
长整型数常量
如果整数常量以l或L结尾,那么它就变成了Python长整型数,而且可以任意增大。python2.2和之后版本中,因为当一个整数的值操作32位时,
它会自动变换为长整数型,不要着自己输入字母L。当有额外的精度需求时,Python会自动将其升级为长整数型数。
十六进制和八进制数常量
八进制常量以数字0开头,后面接数字0-7构成的字符串。十六进制数常量以0x或0X开头,后面接十六进制数字0-9和A-F。十六进制数字编写成
大小写都可以。八进制数和十六进制数常量都会产生一个整数对象,他们仅仅是特定值不同语法标识而已。
复数
python的复数常量写成实部+虚部的写法,这里虚部都是以j或者J结尾。其中,实部从技术上讲课有可无,所以可以能会单独标识虚部。从内部
看来,复数都是通过一对浮点数来标识。但是对复数的所有的数字操作都会按照复数的运算法则进行。

2、内置数据工具扩展
Python处理数字对象的工具
表达式操作符
+、-、*、/、%(计算余数操作符)、**(幂运算),<<左位移,&计算位与的结果
内置数学函数
pow,abs #>> help(pow)
公用模块
random 随机数 math数学模块
名位NumPy的Python扩展提供了高级的数值编程工具。

二、Python表达式操作
表达式是处理数字的最基本工具,当一个数字(或其他对象)与操作符相结合时,Python执行时将计算得到一个值。在Python中表达式是使用通常的数学
符号和操作符号写出来。is操作符测试对象身份(也就是内存地址,严格意义上的相等)。lambda创建匿名函数
更多python表达式操作符及程序可以搜索
1、混合操作所遵循的操作符优先级
遵守一般的数学计算规范,先乘除后加减。
书中5.2表的操作符中越靠后优先级越高。
2、括号分组的子表达式
有括号将表达式分组,先计算括号镇南关的表达式,然后再将结果用于整个表达式
3、混合类型自动升级
除了在表达式中混合操作符外,也能混恶化数字的理性。整数和浮点
20+1.4
最后结果的类型为复杂的数字类型
三、在实际应用中的数字
1、变量和基本表达式
在python中,变量并不需要预算声明。但是在使用之前,至少要被赋值一次值。
2、str和repr显示格式
3、十六进制和八进制数
10进位制转换为8进制或者16进制函数
>>> oct(64)
'0100
>>> hex(64)
'0x40
内置函数int函数会将一个数字的字符串变换为一个整数。并可以通过定义的第二个参数来去顶变换后的数字的进制:
>>> int('0100'),int('0100',8),int('0x40',16)
(100, 64, 64)
4、其他的内置数学工具
pow
abs
import math
import random
四、其他数字类型
1、小数数字
2、集合
2.4版本的的新类型。它是其他对象的集合。
创建一个结合对象,将一个序列或其他的迭代对象传递给内置的set函数
>>> x=set('acd')
>>> y=set('bed')
>>> x
set(['a', 'c', 'd'])
>>> 'a' in x
True
>>> x-y
set(['a', 'c'])
>>> x|y
set(['a', 'c', 'b', 'e', 'd'])
>>> x-y
set(['a', 'c'])
>>> x&y
set(['d'])
3、布尔型
bool
True和False
4、第三方扩展

五、数字函数总结
1、准备类型函数
cmp() 比较两个数字的大小
str() 将数字转换为字符串
type() 返回数字对象的类型
2、转换工厂函数
int(obj,base=10) 可接受进制参数,默认10进制。返回一个字符串或数值对象的整型表示
long(obj,base=10) 可接受进制参数,返回一个字符串或数据对象的长整型表示
float(obj) 返回一个字符串或数据对象的长整型表示
complex(str) 返回一个字符串的复数表示,或者根据给定实数生产复数对象
bool(obj) 将整数型1和0转换为标注布尔值True和False
3、功能函数
abs(num) 返回给定参数的(num)绝对值
coerce(num1,num2) 仅返回一个包含类型转换完毕的两个数值元素的元组 如返回(1,2)
divmod(num1,num2) 把除法个取余运算集合起来,返回一个包含商和余数的元组。如divmod(10,3)返回(3,1),如divmod(10,2.5)返回(4.0,0.0)
pow(x,y)或** 指数运算 一个内建函数,一个是操作符 可以使用第三个参数,即将运算结果和第三个参数取余运算。常用语密码运算.
pow(x,y,z)比pow(x,y)%z性能好
round() 常用于浮点型,进行四舍五入运算,不提供小数位参数,返回和第一参数最接近的整数,第2个参数告诉round函数精确到小数点后几位。
rount(3,4) 结果3 round(3.49999,1)结果 3.5
4、仅用于整数的函数
hex(num) 将数字换行为16进制并以字符串形式返回
oct(num) 将数字换行为8进制并以字符串形式返回
chr(num) 将ASCII的数字换行为ASCII的字符,范围只能是0<=num<=255
ord(num) 接受一个ASCII或Unicode字符(长度为1的字符串),返回相应的ASCII值或Unicode值
unichar(num) 将数字换行为8进制并以字符串形式返回

六、布尔型
有两个永远不变的值True和False
是整型的子类,但不能再被继承而生成其他子类
没有__nonzero__()方法的对象的默认值是True
对于值为0的任何数字或空集(空列表,空元组,空字典)在Python中的布尔值是False
在数学运算中,其值True和False分别对应1和0
True和False 现在不是关键字,但未来版本会是
所有的python对象都有一个内建的True或Flase值

七、数字类型高级模块
random 多种伪随机数生产器
math/cmath 标准C类数学运算函数
decimal 10进制浮点运算类
array 高效数值数组(字符,整型,浮点型等)

posted on 2012-10-01 16:40  @Jin  阅读(916)  评论(0编辑  收藏  举报

导航