<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mnpy2019的博客]]></title><description><![CDATA[Python爱好者的学习分享园地]]></description><link>https://blog.youkuaiyun.com/mnpy2019</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mnpy2019]]></copyright><item><title><![CDATA[《手把手陪您学Python》53——数组的展开]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/117217994</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/117217994</guid><author>mnpy2019</author><pubDate>Mon, 24 May 2021 10:20:19 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》52——数组的变形中，我们学习了数组变形的方法，并重点理解了如何进行按行以及按列的取值，这些都会在我们今天以及后面要学习的内容中加以体现。

今天我们将要学习的是数组的展开方法。

所谓数组的展开，就是将数组从二维、三维甚至更高维度，转变成一维的过程，就如同《三体》中质子的“低维展开”一般。在展开的过程中，就会涉及到我们上一篇学习的按行展开以及按列展开的顺序问题。

下面我们就来学习三种数组展开的方法。

1、flat

在入门阶段，我们学习过多种迭代器，比如常见的字符串]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》52——数组的变形]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/117061649</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/117061649</guid><author>mnpy2019</author><pubDate>Thu, 20 May 2021 09:02:57 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》51——数组的生成方法2中，我们学习了几种新的生成数组的方法，也基本上掌握了NumPy中常用的生成数组的方法。

接下来的几篇，我们将会在之前学习的数组生成方法和属性的基础上，学习几种操作数组变形、展开、翻转、拼接、拆分，以及对数组元素进行新增和删除的方法。

今天，我们先来学习一下数组的变形。

1、reshape函数

数组变形的方法非常简单，使用的就是我们已经熟悉的reshape。

但与之前学习的reshape有所不同，今天将要学习的reshape不是一种方法，更]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》51——数组的生成方法2]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/117061393</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/117061393</guid><author>mnpy2019</author><pubDate>Thu, 20 May 2021 08:56:46 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》50——数组的dtype属性中，我们学习了数组的数据类型及其转换方法。

今天，我们将会利用之前学习的数组属性的相关知识，学习其他生成数组的方式。

1、reshape

array和arange是我们在《手把手陪您学Python》48——数组的生成方法1中学习的数组的生成方法。

虽然这两种方法都可以将指定序列转换为数组，但在转换的过程中，array是根据列表的长度以及嵌套层级来生成某一形状的数组，arange又只能生成一维的数组。

如果我们想根据需要，生成指定形状的]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》50——数组的dtype属性]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/116157481</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/116157481</guid><author>mnpy2019</author><pubDate>Mon, 26 Apr 2021 15:27:59 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》49——数组的shape属性中，我们对数组的“形状”及其表示方式有了更为深入的了解。

今天，我们将会继续学习数组的属性，但不是与数组“形状”有关的属性了，而是与数组数据类型有关的dtype属性。

1、数据类型

对于“数据类型”这个字眼我们并不陌生，它指的就是数据的大类或者说Python的对象。

在入门阶段，我们学习的数字、字符串、布尔值、列表、元组、集合、字典，以及我们刚刚学习的数组，都是不同的数字类型。

其中，数字还可以分为整型、浮点型，甚至可以根据数位和精度]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》49——数组的shape属性]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/115860506</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/115860506</guid><author>mnpy2019</author><pubDate>Mon, 19 Apr 2021 11:20:08 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》48——数组的生成方法1中，我们学习了array()、arange()以及linspace()三种生成数组的方法，并且了解了数组是使用嵌套列表的方式进行表示的。

今天，我们将会学习数组的shape属性，并更深入地了解数组特别是多维数组的表示方式。

1、shape属性

数组的shape属性就如同它的名字一样，反映的是数组的“形状”。

对于一维数组，反映的是一个维度上的元素数量，类似“长度”；

对于二维数组，反映的是两个维度上分别的元素数量，类似“长度”和“宽度”；]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》48——数组的生成方法1]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/115654037</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/115654037</guid><author>mnpy2019</author><pubDate>Tue, 13 Apr 2021 09:27:22 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》47——ndarray中，我们学习了NumPy的ndarray，并通过对比Excel，了解了多维数组以及ndarray在处理多维数组方面的优势。

今天，我们将介绍ndarray的生成方法。

1、array()函数

生成ndarray最简单的方法就是使用array()函数，通过接收列表、字典、元组、集合等我们在入门阶段学习的序列型对象，生成数组。还可以通过接收其他的数组，生成一个新数组。

array函数就像我们之前学习的int()、str()、list()、tupl]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》47——ndarray]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/115453348</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/115453348</guid><author>mnpy2019</author><pubDate>Tue, 06 Apr 2021 08:43:58 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》46——NumPy介绍中，我们了解了NumPy的开发历史和以数组计算为核心的主要特点。

今天，我们将对NumPy的数组对象——ndarray进行具体的介绍，这不仅仅是NumPy的基础，更是我们今后学习和使用Python进行数据分析的基石以及重中之重。

1、理解多维数组

数组是一系列有序的元素的集合。对于低维数组，我们很容易理解。在入门阶段，我们学习过列表、词典、元组、集合等Python数据结构，无论从形式上还是实质上，我们看到的这些对象都只有一行数据，或者说都只有一]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》46——NumPy介绍]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/115355608</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/115355608</guid><author>mnpy2019</author><pubDate>Wed, 31 Mar 2021 17:24:43 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》45——Python入门完结篇中，我们对入门阶段所学的内容进行了回顾和梳理，同时结束了Python基础知识的学习，实现了从Python小白到具有基础编程能力的蜕变。

由于接下来的Python学习有很多的方向，比如数据分析、人工智能、网络爬虫甚至游戏设计等等，我们不可能同时对所有方向进行学习和介绍，所以，我们暂时选择“数据分析”作为我们《手把手陪您学Python》系列方向后续的编写方向，并与大家一起学习NumPy、Pandas、Matplotlib等重要的数据分析工具。
]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》45——Python入门完结篇]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112420774</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112420774</guid><author>mnpy2019</author><pubDate>Mon, 22 Mar 2021 08:32:36 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》44——类的导入中，我们学习了导入类的几种方法，同时也结束了面向对象编程的介绍。

至此，我们已经完成了Python入门阶段全部内容的学习。

在这里，要感谢一起陪伴我们共同学习Python的朋友们，祝贺大家从Python小白成为了掌握Python基础知识的真正的开发者，也具有了继续学习Python和应用Python的能力。

接下来，我们就要根据自己的需要和兴趣领域，在数据分析、爬虫、人工智能、机器学习等Python应用领域中选择适合自己的发展方向，应用Python强大]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》44——类的导入]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112420606</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112420606</guid><author>mnpy2019</author><pubDate>Mon, 15 Mar 2021 08:41:01 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》43——类的继承中，我们学习了父类和子类的继承关系，同时再一次见证了__init__()方法的神奇之处。

今天，我们将介绍面向对象编程最后一部分的内容，也就是类的导入。









敬请关注。







感谢阅读本文！如有任何问题，欢迎留言，一起交流讨论^_^

要阅读《手把手陪您学Python》系列文章的其他篇目，请关注公众号点击菜单选择，或点击下方链接直达。

《手把手陪您学Python》1——为什么要学Python？

《手把手陪您学Pyth...]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》43——类的继承]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112420116</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112420116</guid><author>mnpy2019</author><pubDate>Fri, 05 Mar 2021 08:45:53 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》42——类的魔法方法中，我们学习了如何通过实例方法去定义实例属性，并且对__init__()方法的应用进行了介绍。

​今天，我们将会继续深入学习面向对象编程，介绍类的继承和魔法方法在其中的应用。

我们之前学习的类的实例化，是指将类具体到某一特定的事物的过程，这个事物就是类的实例，他具有类的全部属性和方法。

类的继承实际上也具有原来类的全部属性和方法，只不过他不是从原来类具体化成的某一特定事物，而是在原来类的基础上派生出来的新的类。他既具有原来类的全部属性和方法，同时]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》42——类的魔法方法]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112420025</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112420025</guid><author>mnpy2019</author><pubDate>Thu, 18 Feb 2021 11:18:19 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》41——类方法与实例方法中，我们引入了类方法的概念，并介绍了类方法与实例方法在语法规则和引用方面的差异。今天，我们将会继续介绍实例方法的应用，并介绍一种非常重要而又特殊的实例方法。

1、通过实例方法定义实例属性

在《手把手陪您学Python》40——类的定义、属性与实例化中，我们曾介绍过实例属性，是指通过给实例变量赋值，定义的只属于实例的而不属于类的属性。今天我们将会介绍一种新的定义实例属性的方法，就是通过实例方法来定义实例属性。

由于方法本身就比属性能够做更多的“]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》41——类方法与实例方法]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112419045</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112419045</guid><author>mnpy2019</author><pubDate>Mon, 08 Feb 2021 09:51:20 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》40——类的定义、属性与实例化中，我们学习了面向对象编程的基础知识，了解了类的属性以及实例化属性等，今天我们将会主要介绍类的方法以及实例方法。

1、类的方法：

类的方法其实也可以认为是类具有的某种特征，与类的属性不同的是，这种特征除了可以用变量进行描述以外，还可以做更多的“事情”，而这些事情是通过定义函数的方式来实现的。

也就是说，如果类的属性是可以通过实例访问的变量，那么类的方法就是可以通过实例访问的函数。

类中的函数就称为方法，我们之前学习的有关函数的一切都适]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》40——类的定义、属性与实例化]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112418477</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112418477</guid><author>mnpy2019</author><pubDate>Mon, 01 Feb 2021 19:53:20 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》39——面向对象中，我们介绍了面向对象编程、面向过程编程的概念，并用比较通俗的语言着重分析了两种编程思想之间的区别。

今天，我们将会对面向对象编程进行正式的讲解。

为了让大家更加直观地理解面向对象编程的规则和用法，我们将使用经典游戏《超级玛丽》作为实例，贯穿整个讲解过程，并将“马里奥Mario”作为面向对象编程中的“对象”加以应用。

1、定义类

Python中的“类”与我们现实生活中“类”的概念很相似，是对具有相同或者相似特征的事物的总称。

在生物中，花鸟鱼虫各]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》39——面向对象]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112417855</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112417855</guid><author>mnpy2019</author><pubDate>Mon, 25 Jan 2021 10:54:25 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》38——第二阶段小结中，我们对之前所学的内容进行了总结，接下来，我们将会用几篇文章，为大家介绍一种Python中非常重要的编程方法，或者说编程思想。

为什么说是编程思想呢，因为他并不涉及新的语法、命令、函数等，只是在之前我们学习过的知识的基础上，通过改变程序的结构、运行逻辑、执行顺序，甚至是改变程序的核心主题，来实现一种全新的思维方式和编程逻辑，也就是面向对象编程。

上面这段话可能不是很好理解，甚至可能不是很准确，因为他只是我对于这种全新的编程思想的描述。

说实话，]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》38——第二阶段小结]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/112417182</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/112417182</guid><author>mnpy2019</author><pubDate>Mon, 18 Jan 2021 22:58:40 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》37——程序的重构中，我们对之前所学的内容进行了应用，同时体验了程序重构的过程。

至此，我们已经基本掌握了Python的基础语法知识，数据结构和语言逻辑，为我们日后继续学习和使用Python奠定了基础。

在这一篇中，我们将对这一阶段所学的18篇文章的内容进行个小结，方便大家了解其知识框架，掌握其中的重点内容。

1、数据结构

在这一阶段的开始，我们学习了列表、元组、字典、集合等四种数据结构，同时与第一阶段学习的字符串和数字，共同构成了Python世界中最为基础的数字]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》37——程序的重构]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/111658434</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/111658434</guid><author>mnpy2019</author><pubDate>Tue, 12 Jan 2021 12:29:51 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》36——错误和异常处理中，我们学习了错误和异常的处理方法，使我们在面对各种不确定的情况时，都能够优雅地面对，而让用户感觉不出来在我们的程序中出现了异常。

错误和异常处理是比较独立的一块内容，同时也是我们之前所介绍的Python基础编程知识的一个补充。

至此，我们已经完成了Python基础编程知识的介绍，剩下的就是我们如何在此之上去进一步学习和应用了。

今天，就将之前学习的文件操作以及异常处理的方法做一个应用和复习，我们会用一个相对真实的实例，模拟数据存储和读取的应用]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》36——错误和异常处理]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/111658315</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/111658315</guid><author>mnpy2019</author><pubDate>Fri, 08 Jan 2021 08:55:01 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》35——数据的存储中，我们学习了存储JSON数据和读取的方法。

今天，我们将会介绍一块比较独立的内容，也就是错误和异常处理。在我们运行程序，特别是面对用户运行程序时，能够优雅地处理错误和异常情况，这是非常重要的事情。

但可能有人会问了，既然程序都已经面向用户了，为什么还会有错误呢，各种错误和异常情况，都应该在程序开发至少是测试时就应该已经解决了啊？

大家说的没错，我们的确需要在开发和测试环节处理好程序中的错误，但这个“错误”和我们今天将要介绍的“错误和异常情况”并不]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》35——数据的存储]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/111658263</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/111658263</guid><author>mnpy2019</author><pubDate>Thu, 31 Dec 2020 08:50:59 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》34——文件的写入中，我们学习了两种文件写入的方法，同时，演示了不同文件打开模式对于读写操作的区别。

今天将要学习的数据的存储其实也是一种文件的写入，只不过之前写入的主要是字符串，而今天我们会使用一种特定的数据格式进行文件的存储和读取，这种格式就是——JSON。

1、JSON

JSON（JavaScript Object Notation）是一种轻量级的数据交换格式，具有简洁和清晰的层级结构，既方便人们的阅读和编写，也易于机器的解析和生成，能够有效提升网络传输效率。]]></description><category></category></item><item><title><![CDATA[《手把手陪您学Python》34——文件的写入]]></title><link>https://blog.youkuaiyun.com/mnpy2019/article/details/111658180</link><guid>https://blog.youkuaiyun.com/mnpy2019/article/details/111658180</guid><author>mnpy2019</author><pubDate>Thu, 31 Dec 2020 08:43:15 +0800</pubDate><description><![CDATA[在上一篇《手把手陪您学Python》33——文件的关闭中，我们学习了关闭文件的两种方法。

今天，我们将学习文件的写入。如同学习文件的读取，是为了让我们了解Python读取文件的原理一样，本篇的内容也是为了让大家理解Python写入文件的基础原理。

文件写入的方法有write()和writelines()两种，但无论哪种写入方法，都要先用open()打开文件。当然，这次打开文件就不能使用默认的只读模式“r”了，而要从我们上一篇列出的文件模式列表中，选择可以写入文件的模式。

所以，这一篇中还会介绍一下不同]]></description><category></category></item></channel></rss>