深度之眼(十六)——Python:有益的探索

简介: 深度之眼(十六)——Python:有益的探索

导读


0a2653c851af460fa595bd959398a8f1.png


一、数据类型的底层实现


1.1 列表:地址引用


浅拷贝,拷贝的是地址

散列表存放地址

2d65d23f6d4748949b924e4057485923.png

如果是对元组进行添加的话,会开辟一段新的空间进行存储


2e9b90b2ca334476abebe75bafe6eeaa.png


深拷贝,将会重新开辟空间,相互独立


1.2 字典:稀疏数组


字典查找的速度非常快

底层原理

创建字典后,第一步,通过hash()计算键的散列值

第二步,根据计算的散列值确定其在散列表中的位置

(极个别会有冲突情况,但是内部都有相应的处理方法)


0a2653c851af460fa595bd959398a8f1.png


键值对的访问过程

第一步:计算要访问的键的散列值

第二步:根据计算的散列值,通过一定的规则,确定其在散列表中的位置

第三步:读取该位置上存储的值


2d65d23f6d4748949b924e4057485923.png


理解:就是牺牲空间节省时间,


1.3 字符串:紧凑数组


通过紧凑数组,实现字符串的存储

因为字符串一般是一起访问得,地址紧凑在一起


0a2653c851af460fa595bd959398a8f1.png


1.4 类型是否可变


1.不可变类型:数字、字符串、元组


在生命周期中保持内容不变

换句话说,改变了就不是它自己了(id变了)

不可变对象的 += 操作实际上创建了一个新的对象


元组并不是总是不可变的


2.可变类型:列表、字典、集合

, id保持不变,但是里面的内容可以变

, 可变对象的+=操作实际在原对象的基础上就地修改


1.5 小例子


2d65d23f6d4748949b924e4057485923.png2e9b90b2ca334476abebe75bafe6eeaa.png4cebaac233b3433da32a72337a77fc60.png


二、简洁的语法


2.1 解析语法


0a2653c851af460fa595bd959398a8f1.png2d65d23f6d4748949b924e4057485923.png


2.2 条件表达式


2e9b90b2ca334476abebe75bafe6eeaa.png


三、三大神器


3.1 生成器


4cebaac233b3433da32a72337a77fc60.png

6de278e6d6694ce5bb08e7e842b7e74b.png

8ec4f2997fb246878c34ecd6d122b7c6.png


3.2 迭代器


0a2653c851af460fa595bd959398a8f1.png

(1)列表、元组、字符串、字典.集合、文件

可以使用isinstance()判断-一个对象是否是[terable对象

2d65d23f6d4748949b924e4057485923.png

(2)列表、 元组、字符串、字典、集合不是迭代器


for item in Iterable等价于:

先通过iter ()函数获取可迭代对象Iterable的迭代器

然后对获取到的迭代器不断调用next ()方法来获取下一个值并将其赋值给item

当遇到StopIteration的异常后循环结束


0a2653c851af460fa595bd959398a8f1.png2d65d23f6d4748949b924e4057485923.png2e9b90b2ca334476abebe75bafe6eeaa.png4cebaac233b3433da32a72337a77fc60.png


3.3 装饰器


1、需求的提出

(1)需要对已开发上线的程序添加某些功能

(2)不能对程序中函数的源代码进行修改

(3)不能改变程序中函数的调用方式


3、高阶函数

(1)接收函数作为参数

(2)或者返回-个函数

满足.上述条件之-的函数称之为高阶函数

0a2653c851af460fa595bd959398a8f1.png

4、嵌套函数

在函数内部定义一个函数

2d65d23f6d4748949b924e4057485923.png

5.闭包

2e9b90b2ca334476abebe75bafe6eeaa.png

团包:延伸了作用域的函数

如果一个函数定义在另-个函数的作用域内,并且引用了外层函数的变量,则该函数称为闭包

闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)

0a2653c851af460fa595bd959398a8f1.png


6.一个简单的装饰器


嵌套函数实现


2d65d23f6d4748949b924e4057485923.png


语法糖


2e9b90b2ca334476abebe75bafe6eeaa.png


总结


0a2653c851af460fa595bd959398a8f1.png2d65d23f6d4748949b924e4057485923.png2e9b90b2ca334476abebe75bafe6eeaa.png

相关文章
|
7月前
|
数据可视化 算法 数据挖掘
探索Python在数据分析中的应用
在这篇文章中,我们将深入探讨Python语言在数据分析领域的强大应用。Python,作为一门简洁、易学且功能强大的编程语言,已经成为数据科学家和分析师的首选工具之一。本文不仅会介绍Python在数据处理、清洗、分析和可视化方面的关键库,如Pandas、NumPy、Matplotlib和Seaborn,而且还会通过实际案例展示这些库如何被用于解决实际问题。我们的目标是为读者提供一个清晰的指南,帮助他们理解Python在数据分析中的潜力,并鼓励他们开始自己的数据分析项目。
|
7月前
|
数据采集 数据可视化 数据挖掘
探索Python在数据分析中的应用
在当今数据驱动的时代,Python已经成为了数据分析不可或缺的工具之一。本文将深入探讨Python在数据分析领域的应用,从其丰富的数据处理库到强大的数据可视化工具,展示如何利用Python进行高效、深入的数据分析。我们将通过实际案例,指导读者如何使用Python进行数据预处理、分析及呈现,旨在为数据分析师和Python爱好者提供一个全面而深入的学习资源。
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
探索Python在数据分析中的应用
本文将深入剖析Python语言在数据分析领域的强大应用,通过实际案例展示如何利用Python处理、分析数据,并提取有价值的信息。不同于传统的摘要,我们将从Python的简洁语法、丰富的数据分析库(如Pandas、NumPy、Matplotlib)入手,探讨其在数据预处理、分析及可视化方面的优势。文章还将讨论Python与其他数据分析工具的比较,旨在为读者提供一个全面、深入的理解,帮助他们认识到Python在数据科学中不可替代的地位。
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
探索Python在数据分析中的应用
本文深入探讨了Python语言在数据分析领域的广泛应用,通过实例展示了如何利用Python处理、分析和可视化数据。不同于传统的技术文章摘要,我们将带您一步步了解Python在数据处理过程中的独特优势,包括其丰富的库支持(如Pandas、NumPy和Matplotlib)、易于学习的语法以及强大的社区支持。文章还将介绍一些高效的数据分析技巧和最佳实践,旨在为读者提供一个清晰的指南,帮助他们充分利用Python进行数据分析,从而在数据驱动的世界中做出更加明智的决策。
40 2
|
7月前
|
机器学习/深度学习 数据可视化 数据处理
深入浅出:Python中的异步编程探索Python在数据分析中的应用
在当今高速发展的互联网时代,异步编程已成为提升应用性能和响应速度的关键技术之一。本文旨在深入浅出地介绍Python中的异步编程概念、原理及其实践应用。通过对比同步与异步编程的不同,解析asyncio库的核心机制,并结合实例演示如何在Python项目中有效实现异步编程,本文希望能够帮助读者更好地理解异步编程的魅力,以及如何在自己的项目中运用这一强大的编程范式。 在当今数据驱动的时代,Python已经成为数据科学家和分析师的首选语言之一。本文将深入探讨Python在数据分析领域的实际应用,包括其在数据处理、可视化以及机器学习中的作用。我们将通过实例,展示如何利用Python的强大库(如Pand
45 2
|
7月前
|
数据可视化 数据挖掘 数据处理
探索Python在数据分析中的应用
在这篇文章中,我们将深入探讨Python语言在数据分析领域的强大应用。Python,作为一种高级编程语言,以其简洁的语法、强大的库支持以及广泛的社区资源,成为了数据科学家和分析师的首选工具。本文不仅会介绍Python在数据处理、清洗、可视化以及模型构建中的关键角色,还会通过实际案例,展示如何运用Python解决复杂的数据分析问题。此外,我们将提供一系列高效的技巧和最佳实践,帮助读者提升使用Python进行数据分析的效率和效果。
|
7月前
|
数据采集 数据可视化 数据挖掘
探索Python在数据分析中的应用
本文深入探讨了Python语言在数据分析领域的实际应用,从Python的基础知识出发,逐步深入到如何利用Python进行数据处理、分析及可视化。文章不仅讲述了Python在数据分析中的重要性,还通过实例演示了使用Pandas和Matplotlib等库来处理和分析真实数据集的过程。本文旨在为读者提供一个清晰的指南,帮助他们理解如何有效地使用Python进行数据分析,无论是数据科学的新手还是希望扩展技能的专业人士,都能从中获益。
|
7月前
|
数据可视化 数据挖掘 大数据
探索Python在数据分析中的应用
在数字化时代,数据分析成为了企业和研究机构不可或缺的一环。Python,作为一种高级编程语言,因其简洁的语法、强大的库支持以及广泛的社区资源,已经成为数据分析领域的首选工具之一。本文旨在探讨Python在数据分析中的应用,通过实例展示如何使用Python进行数据处理、分析和可视化,并探讨其在未来数据科学中的潜在发展方向。
51 1
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
探索Python在数据分析中的应用
本文深入探讨了Python语言在数据分析领域的强大应用,特别是通过展示其在数据处理、可视化和机器学习中的实际案例。不同于传统的技术文章摘要,我们将通过一系列实际问题解决方案,揭示Python如何成为数据科学家和分析师首选的工具。从基础的数据清洗到复杂的数据挖掘技术,文章将带你领略Python在数据分析中的魅力,展现其简洁语法和强大的库支持如何有效提升数据分析的效率和质量。
36 1
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
探索Python在数据科学中的应用:从数据处理到深度学习
本文全面探讨了Python语言在数据科学领域的关键应用,突破了传统摘要的界限,采用故事化手法引入主题。我们从一个数据科学项目的起点出发,描述了一个数据科学家如何使用Python进行数据收集、清洗、分析、可视化,以及如何应用机器学习和深度学习模型来提取洞见和做出预测。文章不仅阐述了Python在各个环节的具体应用,还介绍了相关的库和工具,旨在为读者提供一个关于Python在数据科学中应用的全景视图。