返回顶部
首页 > 资讯 > 后端开发 > Python >Python有哪些隐藏特性
  • 318
分享到

Python有哪些隐藏特性

2023-06-02 00:06:03 318人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python有哪些隐藏特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些隐藏特性”吧!案例一:案例二:案例三:很好理解, 对吧????? 说明:这些行为

这篇文章主要讲解了“python有哪些隐藏特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些隐藏特性”吧!

案例一:

Python有哪些隐藏特性

案例二:

Python有哪些隐藏特性

案例三:

Python有哪些隐藏特性

很好理解, 对吧?

???? 说明:
  • 这些行为是由于 Cpython 在编译优化时, 某些情况下会尝试使用已经存在的不可变对象而不是每次都创建一个新对象. (这种行为被称作字符串的驻留[string interning])

  • 发生驻留之后, 许多变量可能指向内存中的相同字符串对象. (从而节省内存)

  • 在上面的代码中, 字符串是隐式驻留的. 何时发生隐式驻留则取决于具体的实现. 这里有一些方法可以用来猜测字符串是否会被驻留:

  • 所有长度为 0 和长度为 1 的字符串都被驻留.

  • 字符串在编译时被实现 ('wtf' 将被驻留, 但是 ''.join(['w', 't', 'f']) 将不会被驻留)

  • 字符串中只包含字母,数字或下划线时将会驻留. 所以 'wtf!' 由于包含 ! 而未被驻留. 可以在【地址1】找到 CPython 对此规则的实现.

    Python有哪些隐藏特性

  • 当在同一行将 a 和 b 的值设置为 "wtf!" 的时候, Python 解释器会创建一个新对象, 然后同时引用第二个变量(译: 仅适用于3.7以下, 详细情况请看【地址2】). 如果你在不同的行上进行赋值操作, 它就不会“知道”已经有一个 wtf!对象 (因为 "wtf!" 不是按照上面提到的方式被隐式驻留的). 它是一种编译器优化, 特别适用于交互式环境.

  • 常量折叠(constant folding) 是 Python 中的一种 窥孔优化(peephole optimization) 技术. 这意味着在编译时表达式 'a'*20会被替换为 'aaaaaaaaaaaaaaaaaaaa' 以减少运行时的时钟周期. 只有长度小于 20 的字符串才会发生常量折叠. (为啥? 想象一下由于表达式 'a'*10**10 而生成的 .pyc 文件的大小). 相关的源码实现在【地址3】.

  • 如果你是使用 3.7 版本中运行上述示例代码, 会发现部分代码的运行结果与注释说明相同. 这是因为在 3.7 版本中, 常量折叠已经从窥孔优化器迁移至新的 AST 优化器, 后者可以以更高的一致性来执行优化. (由 Eugene Toder 和 INADA Naoki 在 bpo-29469 和 bpo-11549 中贡献.)

  • (译: 但是在最新的 3.8 版本中, 结果又变回去了. 虽然 3.8 版本和 3.7 版本一样, 都是使用 AST 优化器. 目前不确定官方对 3.8 版本的 AST 做了什么调整.)

感谢各位的阅读,以上就是“Python有哪些隐藏特性”的内容了,经过本文的学习后,相信大家对Python有哪些隐藏特性这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Python有哪些隐藏特性

本文链接: https://lsjlt.com/news/228306.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python有哪些隐藏特性
    这篇文章主要讲解了“Python有哪些隐藏特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些隐藏特性”吧!案例一:案例二:案例三:很好理解, 对吧 说明:这些行为是由于 C...
    99+
    2023-06-02
  • Python隐藏的特性有哪些
    本篇内容主要讲解“Python隐藏的特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python隐藏的特性有哪些”吧!1...是的,你没看错,在Python中...是一个有效的构造。.....
    99+
    2023-06-15
  • CSS3中的隐藏特性有哪些
    这篇文章主要介绍“CSS3中的隐藏特性有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS3中的隐藏特性有哪些”文章能帮助大家解决问题。 CSS3为web设...
    99+
    2024-04-02
  • Python隐藏功能有哪些
    这篇文章主要为大家展示了“Python隐藏功能有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python隐藏功能有哪些”这篇文章吧。1. 比较运算符链接要检查a中的值是否在0到100的范围...
    99+
    2023-06-16
  • Python有哪些隐藏技巧
    本篇内容主要讲解“Python有哪些隐藏技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python有哪些隐藏技巧”吧!1. ... 对象没错,你没看错,就是 "..."在...
    99+
    2023-07-06
  • jsp隐藏标签的属性有哪些
    jsp隐藏标签的属性有以下几种:1. id属性:用于指定标签的唯一标识符。2. class属性:用于指定标签的类名,可以用于CSS样...
    99+
    2023-09-13
    jsp
  • Python中的隐藏彩蛋有哪些
    本篇内容介绍了“Python中的隐藏彩蛋有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用re.DEBUG查看正则表达式的匹配过程...
    99+
    2023-06-17
  • Python中的隐藏技巧有哪些
    这篇文章主要介绍了Python中的隐藏技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的隐藏技巧有哪些文章都会有所收获,下面我们一起来看看吧。1、功能属性这种 hack 类似于类和对象概念...
    99+
    2023-07-05
  • ReactDOM隐藏特性详解
    目录前言React DevTools 的原理渲染阶段FiberRoot/FiberNodememoizedState 与 React Hooks实践:突破 useDebugValue...
    99+
    2024-04-02
  • css3中显示隐藏特效代码有哪些
    这篇文章主要介绍了css3中显示隐藏特效代码有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 代码:1、“d...
    99+
    2024-04-02
  • Python的特性有哪些
    这篇文章主要讲解了“Python的特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的特性有哪些”吧! 面向对象的特性面向对象的程序设计解决了结构化程序设计的复杂...
    99+
    2023-06-02
  • PS隐藏技巧有哪些
    这篇文章给大家分享的是有关PS隐藏技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  1、版权信息嵌入图片  为了避免被盗图,现在很多摄影师在发布作品前都会打上自己的水印...
    99+
    2024-04-02
  • Mac隐藏技巧有哪些
    这篇文章主要介绍“Mac隐藏技巧有哪些”,在日常操作中,相信很多人在Mac隐藏技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mac隐藏技巧有哪些”的疑惑有所帮助!接...
    99+
    2023-04-22
    mac
  • Python 3.9新特性有哪些
    本篇内容主要讲解“Python 3.9新特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python 3.9新特性有哪些”吧! 字典合并 一个非常优...
    99+
    2024-04-02
  • python集合有哪些特性
    python中集合的特点有以下几点集合中的元素不能出现重复;集合中的元素是无次序的;集合中的元素没有索引;使用set()函数和{}创建集合,其元素必须是不可变的;而使用set()函数创建的集合,其元素必须是可变的;...
    99+
    2024-04-02
  • Python的特性都有哪些
    本篇文章为大家展示了Python的特性都有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言:在了解 Python 的特性之前,我们首先要了解 Python 编程语言是什么。Python 编程语...
    99+
    2023-06-22
  • Python高级特性有哪些
    本篇内容介绍了“Python高级特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  切片  可以对list, tuple, stri...
    99+
    2023-06-01
  • Python中隐藏了哪些技巧
    这篇文章主要讲解了“Python中隐藏了哪些技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中隐藏了哪些技巧”吧!1、使用re.DEBUG查看正则表达式的匹配过程正则表达式是P...
    99+
    2023-06-17
  • css中隐藏命令有哪些
    这篇“css中隐藏命令有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“css中隐藏命令有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。cs...
    99+
    2023-06-06
  • 隐藏IP地址有哪些好处
    本篇内容主要讲解“隐藏IP地址有哪些好处”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“隐藏IP地址有哪些好处”吧!  1、隐藏位置信息  隐藏您的IP地址后,互联网上的其他人则查不到您的位置信息...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作