Python 基础系列--数字类型【2】

西域战神 2019-05-14 16:19:24 ⋅ 545 阅读

总览 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-8import 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.0print(random.random())# 随机浮点数: 1.1 <= x < 11.1print(random.uniform(1.1, 11.1))

# 对序列进行洗牌,改变原序列deck = 'one two three four'.split()random.shuffle(deck)print(deck)

---------------END----------------

后续的内容同样精彩

长按关注“IT实战联盟”哦




全部评论: 0

    我有话说:

    Python 基础系列--序列类型【4】

    目标 1.对序列对象有整体的认识;2.掌握list的常用操作3.掌握tuple的常用操作4.理解深浅拷贝问题 第一部分 序列对象 1. 了解序列对象 Python一切皆对象。 1.序列对象包含str

    Python 基础系列--字符串类型【3】

    字符串是编程必然面临的类型,常用指数之高,不得不先了解下

    Python 3.8.6 发布

    Python 3.8.6 发布了,它是 Python 3.8 的第六个维护版本。 3.8 系列的维护版本将每两个月定期更新一次,3.8.7 计划于 2020 年 11 月中旬发布。 随着维护版本的

    Python 基础系列-- 初识【1】

    人生苦短,我用 Python —— Life is short, you need Python

    MongoDB系列---数据类型/插入文档(三)

    第一部分 BJSON 与 JSON MongoDB的文档与JavaScript中的对象很相似,JavaScript中的数据交互格式是JSON格式. JSON的数据格式: 1. null;2. 布尔

    Python数据计算工具 PyMiner v2.1.0 Beta 发布!LGPL协议生效!

    PyMiner 是一个类似MATLAB的,但基于python的GUI数据计算工具,通过集成ipython和工作空间、编辑器、绘图、应用插件开发系统、统计和模型相关内容,用户可以在统一的界面程序中的

    Python ORM框架SQLAlchemy 1.3.20 发布

    SQLAlchemy 1.3.20 发布了。SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射(ORM)框架。它包含整套企业级持久化模式,专门用于高效和高性能的数据库

    Pyston v2 发布:比 Python 快 20%

    Pyston v2 已正式发布,Pyston 是 Python 的高度兼容实现,自称比 Python 更快。根据 Pyston 提供的宏基准测试结果,其 v2 版本比目前的 Python 3.8 快

    Pyston 2.1 发布,Python 的高度兼容实现

    Pyston 2.1 发布了。Pyston 是 Python 的高度兼容实现,自称比 Python 更快。根据 Pyston 提供的宏基准测试结果,其 v2 版本比目前的 Python 3

    安全攻防系列一 安全基础概念

      该系列记录学习极客时间–安全攻防技能30讲相关内容 安全的本质 安全的本质就是保护数据被合法地使用。 数据:应用最核心的东西;如用户信息、订单信息等等 合法:大到法律法规、业务

    Redis面试整理:Redis几种数据类型的用法和应用场景重新梳理了一下

    1、字符串 1.1 介绍 string 字符串类型是Redis中最为常用和基础的存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,也可以认为string字符串数据类型能够接收任何格式

    商城系统 DBShop V3.0 Beta 发布

    全新重构,首次亮相。 系统简介 DBShop企业级商城系统,使用PHP语言基于Laminas(Zendframework 3) + Doctrine 2 组合框架开发完成。可定制、多终端、多场景、多

    为什么阿里巴巴不建议 boolean 类型变量用 isXXX?

    背景 平时工作中大家经常使用到boolean以及Boolean类型数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型数据好呢还是用包装类好呢? 例子

    Python 3.9.2 和 3.8.8 现已发布

    Python 3.9.2 和 3.8.8 发布了。虽然在 3 天前才发过 RC 版本,但由于该版本包含两个安全性修复程序,在用户的敦促下,最终选择加急发布正式版。 接下来,将于 2021 年 5 月

    Druid 1.2.4 版本发布,增强 SQL Parser,支持 JDK8 日期类型

    Druid 1.2.4 版本现已发布,这个是一个小的 bug 修复版本,修复了一系列 SQL Parser 的问题,增强对 JDK 8 的支持。 Issues SQL Parser 增强对

    数据结构

    结构,简单的理解就是关系。严格点说,结构是指各个组成部分相互搭配和排列的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系成为结构。 数据结构:是相互之间存在一种

    TypeScript 4.2 发布

    TypeScript 4.2 已经发布。TypeScript是一种开源语言,它通过添加静态类型定义在 JavaScript(全球最常用的工具之一)的基础上构建。 主要更新内容 更智能的类型别名保护

    开源文档系统 MrDoc 0.6.2 版本发布

    MrDoc(觅道文档)是一个基于 Python 开发的在线文档系统,其以 Markdown 语法进行文档编写,集成了两大主流 Markdown 编辑器(Editor.MD 和 Vditor),适合