总览 Python 数据类型
目标
•了解Python有几种数据类型•认识Python的数字类型•重点掌握对数字类型的操作
第一部分 数字类型
数字类型用于存储数学意义上的数值。
Python 支持三种不同的数字类型,整数、浮点数和复数:
1. 整数
定义:正或负整数,不带小数点的数
Python 的整数长度为 32 位,并且通常是连续分配内存空间的。
>>> id(0)
4361838576
>>> id(1)
4361838608
>>>
小整数对象池
Python 初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!这是一个包含262 个指向整数对象的指针数组,范围是-5 到 256。
也就是说比如整数 10,即使我们在程序里没有创建它,其实在 Python 后台已经悄悄为我们创建了。
看下边的 id(-6)与 id(257)的地址,4364640112
>>> id(-6)
4364640112
>>> id(-5)
4361838416
>>> id(255)
4361846736
>>> id(256)
4361846768
>>> id(257)
4364640112
为什么存在小整数对象池?
像懒加载一样,创建一个一直存在,永不销毁,随用随拿的小整数对象池,减小开支。
整数缓冲区
刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。
>>> a = 100
>>> id(a)
4401859696
>>> del a
>>> b = 100
>>> id(b)
4401859696
>>>
把 a 删了,然后创建一个 b,地址是一样的。
2. 浮点数
浮点数也就是小数 对于很大或很小的浮点数,一般用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
3. 复数
复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。关于复数,不做科学计算或其它特殊需要,通常很难遇到。
第二部分 操作数字类型
1. 简单常用的计算
import math
# print(dir(math))
# print(abs(-10))
# print(cmp(1, 3))
# print(math.exp(2))
# print(math.ceil(1.2), math.ceil(-1.2))
# print(math.floor(1.2))
# print(max([12, 1]))
2. 随机操作
主要还没涉及更复杂的计算,只是罗列一些可能常用的方法; 真值分部相关的操作,如正态分部啥的,因为暂无需求,
我希望: 有朝一日能用的上那些高大上的。
# coding=utf-8
import random
print("---基本---")
# 基本
# 返回当前生成器的内部状态
print(random.getstate())
# 不大于K位的Python整数,结果是0~2^10之间的整数
print(random.getrandbits(10))
print("---整数---")
# 整数
# 0-9的整数:
print(random.randrange(10))
# 0-100的偶数
print(random.randrange(0, 101, 2))
# 返回 a <= N <= b, 等同于randrange(a, b+1)。
print(random.randint(1, 9))
print("---list---")
# list
# 从序列随机选择一个元素
print(random.choice(['python', 'node', '种地']))
print("---真值分布---")
# 随机浮点数: 0.0 <= x < 1.0
print(random.random())
# 随机浮点数: 1.1 <= x < 11.1
print(random.uniform(1.1, 11.1))
# 对序列进行洗牌,改变原序列
deck = 'one two three four'.split()
random.shuffle(deck)
print(deck)
---------------END----------------
后续的内容同样精彩
长按关注“IT实战联盟”哦
注意:本文归作者所有,未经作者允许,不得转载