[入门-6] 基础类型之数字

基础

  • 数字提供标量的存储和直接访问,属于不可更改类型,更新数值就会生成新的对象
  • 不可变类型的更新都是如此的
  • 类型
    • 布尔型 True False
    • 标准整型
    • 长整型,非常长好吧
    • 双精度浮点型
#create
aInt = 1
aLong = -999999999999999999999999999999L
aFloat = 3.14, -1.4.2E-10, 4.3e25
aComplex = 1.12 + 4.56J
aComplex.real
aComplex.imag
aComplex.conjugate()

#update
aInt +=2
aFLoat = 0.9

#delete
del aInt

操作符

  • 类型A和类型B做运算,会有类型提升,整型->长整型->浮点->复数
#逻辑
>
<
==
!=
#支持
3 > 2 >1

#运算
+
-
*
**
%
/  #真正的除法
// #地板除

4 ** -1   #error
4.0 * -1  #0.25
4.2 ** 3.2
(2 + 3J) ** 2

#位运算(仅用于整数)
~ #取反-(num + 1)
&
|
^ #按位异或
<<
>>

#负数按照正数的2进制补码处理
#左移和右移等同于无溢出的2的N次幂运算

内建函数和工厂函数

#标准类型函数
cmp()
str()
type()

#数字类型函数
#转换工厂函数
bool(obj) #返回obj.__nonzero__()方法的值
int(obj, base=10)    #string.stoi()
long(obj, base=10)   #string.atol()
float(obj)           #string.atof()
complex(str)
complex(real,inag=0.0)

#功能函数
abs(num) #对于复数,返回math.sqrt(num.real**2 + num.imag**2)
coerce(a, b) #返回类型转换完毕后的元组,就是对a和b做内置的类型提升,但是不做运算,直接返回
divmod(num1,num2)     #返回商和余数的元组,
#整型:地板除+取余操作,
#浮点数:商是math.floor(num1/num2)
#复数:商是math.floor((num1/num2).real)
pow(num1,num2,mod=1)#指数后和第三个参数做取余计算
round(flt,ndig=0)#四舍五入计算取整,保留多少位小数
int()  #直接截去小数部分,返回整型
floor()#最接近原数字但是小于原数字的整型,返回浮点型
round()#最接近原数的整型,返回浮点型

#仅用于整型的函数
hex(num) #将数字转换为16进制,以字符串形式返回
oct(num) #将数字转换为8进制,以字符串形式返回
chr(num) #将ASCII值得数字转换为ASCII字符,0<=num<=255
ord(num) #接受一个ASCII或unicode字符(长度为1的字符串),返回相应的ASCII和unicode码值
unichr(num) #接收unicode码值,返回对应的unicode字符

布尔类型

  • 没有__nonzero__()方法的对象默认返回True
  • 值为0的任何数字或空集(空列表、空元组、空字典…)都返回False
  • 数学运算中,True=1,False=0

“真正的浮点数”,十进制数

from decimal import Decimal
print 0.1
dec = Decimal('0.1')
print dec

其他模块

  • decimal
  • array
  • math/cmath
  • operator
  • random
    • randint()
    • randrange()
    • uniform()
    • random()
    • choice() :随机给定序列的一个元素

Reference

Python核心编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值