python不支持的数据类型有哪些

python没有char或byte类型来保存单一字符或8比特整数。你可以使用长度为1的字符串表示字符或8比特整数。 

python不支持的数据类型有哪些Python中, string中的每个字符占的空间大小是 bit. (推荐学习:Python视频教程)

>>> import sys>>> sys.getsizeof('')37>>> sys.getsizeof('a')38

登录后复制

可以看到, 空字符占用37个 byte, 长度为1的字符串 ‘a’ 占内存 38个 byte. 多了一个字符 a 之后多了 1 个 byte.
在 Python 内部, string 是这样实现的

typedef struct {    PyObject_VAR_HEAD    long ob_shash;    int ob_sstate;    char ob_sval[1];    /* Invariants:     *     ob_sval contains space for 'ob_size+1' elements.     *     ob_sval[ob_size] == 0.     *     ob_shash is the hash of the string or -1 if not computed yet.     *     ob_sstate != 0 iff the string object is in stringobject.c's     *       'interned' dictionary; in this case the two references     *       from 'interned' to this object are *not counted* in ob_refcnt.     */} PyStringObject;

登录后复制

每个 char 就是存在 ob_sval 里面的, 占大小 8bit. 余下的36个 byte 主要来自于宏 PyObject_VAR_HEAD. 实际上 python 的string实现还用到了一个叫 *interned 的全局变量, 里面可以存长度为 0 或 1 的字符串, 也就是 char, 可以节省空间并且加快速度.

实际上在 python 里既没有指针也没有”裸露的数据结构” (非对象), 连最简单的整数 integer 都是这样实现的

立即学习“Python免费学习笔记(深入)”;

typedef struct {   PyObject_HEAD   long ob_ival;} PyIntObject;

登录后复制

总而言之, 这样的设计满足 python 的 “一切都是对♂象♂”, “一切都尽可能simple” 的设计思想.

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上就是python不支持的数据类型有哪些的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2257486.html

(0)
上一篇 2025年2月27日 03:47:44
下一篇 2025年2月24日 19:40:38

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python爬虫和八爪鱼哪个快

    八爪鱼有一些优势,比如学习成本低,可视化流程,快速搭建采集系统。能直接导出excel文件和导出到数据库中。降低采集成本,云采集提供10个节点,也能省事不少。 八爪鱼采集器还提供了云采集服务,在很短的时间内就可以完成你可能需要几天的时间来采集…

    2025年2月27日
    200
  • python搭建网站的基本步骤

    如何运用python搭建网站? 相关推荐:《python视频》 1-项目环境搭建。 1.1第三方库准备 立即学习“Python免费学习笔记(深入)”; 开发环境是mac os 和ubantu  推荐大家下载一个第三方的软件叫 “…

    2025年2月27日 编程技术
    200
  • python和julia学哪个

    julia是一个面向科学计算的高性能动态高级程序设计语言。其语法与其他科学计算语言相似。在许多情况下拥有能与编译型语言相媲美的性能。julia 是个灵活的动态语言,适合科学和数值计算,性能可与传统静态类型语言媲美。 一群拥有各种语言丰富编程…

    2025年2月27日
    200
  • python都有哪些框架

    前两天有小伙伴给我留言说:什么时候能出个python框架的干货总结(本文列举只是一部分,并不包含所有python框架),于是乎今天这篇文章孕育而生。(突然感觉自己很nice) 推荐一:Django(推荐学习:Python视频教程) Djan…

    2025年2月27日
    200
  • python画图的两种方法

    python如何画图?这里给大家介绍两款python绘图的库:turtle和Matplotlib。 相关推荐:《python视频》 1 安装turtle Python2安装命令: pip install turtule 登录后复制 Pyth…

    2025年2月27日
    200
  • python和vb哪个简单

    visual basic(简称vb)是microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。是一种可用于微软自家产品开发的语言。 最大的区别在于…

    2025年2月27日
    200
  • python和java先学哪个

    我们知道不管是java还是python都是当今很火的编程语言,所以对于刚开始学习编程的同学来说选择哪一门语言来学习就成了难题。因为我本身是一名程序员,所以如果我主观的给你建议显然是有偏见的,我会建议你先学java,然后再去学python,但…

    2025年2月27日
    200
  • python比较两浮点数是否相等的方法

    python如何比较两个浮点数是否相等? 相关推荐:《python视频》 float 类型不能比较相等或不等,但可以比较>,=, 用==从语法上说没错,但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==…

    2025年2月27日
    200
  • python如何提高运行速度

    说道现在最流行的语言,就不得不提python。可是python虽然容易上手,但速度却有点感人。如何用简单的方法让python加速到近乎可以媲美c的速度呢? 今天来就来谈谈numba这个宝贝。对你没看错,不是numpy,就是numba。(推荐…

    2025年2月27日
    200
  • python类型转换方法汇总

    python中如何类型转换? 相关推荐:《python视频》 int 支持转换为 int 类型的,仅有 float、str、bytes,其他类型均不支持。 float -> int 会去掉小数点及后面的数值,仅保留整数部分。 int(…

    2025年2月27日
    200

发表回复

登录后才能评论