自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 14.网络爬虫—数据提取2-正则表达式规则详讲

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了。

2024-04-24 18:01:08 1303 9

原创 13.网络爬虫—数据提取1-正则表达式基础入门

正则表达式(Regular Expression),通常简称为“regex”或“regexp”,是一种用来定义搜索模式的文本格式,主要用途是在文本中检索符合某个模式的字符串。它由一组特定的字符组成,这些字符可以代表任意数量的字符或者某种特定的字符模式。正则表达式(Regular Expression,简称regex或regexp)是一种强大的文本处理工具,它由一系列的普通字符和特殊字符(元字符)构成,用于描述和匹配字符串的特定模式。正则表达式提供了一种灵活且强大的方式来查找、替换、验证和提取文本数据。

2024-04-24 17:54:22 528

原创 12.网络爬虫—深入探索Requests库的进阶用法

HTTP代理是一种位于客户端和服务器之间的中间设备,它的主要作用是接收客户端的请求并转发给服务器,再将服务器的响应转发回客户端。通过异步发送请求,可以在后台加载数据,从而减少用户等待的时间,提升用户体验。例如,在爬虫中,可以使用并发请求来同时抓取多个网页的内容,从而提高整体的爬取效率。:当您使用Requests发起请求时,如果正确设置了代理,那么您的请求将通过VPN代理服务器发送,从而隐藏您的真实IP地址和位置。这样,通过使用连接池和并发请求,我们可以提高网络请求的效率,同时减少资源消耗。

2024-04-23 17:39:22 840 3

原创 11.网络爬虫—深入探索Requests库的基本用法

在Python中,我们可以使用requests库发送请求时自定义请求头部。Win64;q=0.9"我们首先导入了requests库,定义了要发送请求的URL以及自定义的请求头部headers。接着使用函数发送GET请求,并将自定义的请求头部传递给该函数,将响应存储在变量response中。

2024-04-23 17:28:25 967

原创 10.网络爬虫—URLError监控与故障排除指南

为了处理这些异常,爬虫开发者通常会使用try-except语句来捕获URLError和HTTPError,以便在出现这些错误时能够采取相应的措施,比如记录错误信息、跳过当前URL或尝试重新连接等。如果请求成功,将读取响应内容并解码为字符串,然后打印出来;在Python网络爬虫中,当出现URLError时,通常会采用异常处理机制来确保程序的稳定运行。异常,则根据异常的参数个数打印出相应的错误信息。在网络爬虫中,URLError通常出现在尝试访问某个网络资源时遇到了问题。异常类,用于处理HTTP请求和错误。

2024-04-22 13:50:39 802 4

原创 9.网络爬虫—理解并利用Cookie进行高级网页抓取

在前面的例子中,我们使用的是默认的opener,也就是urlopen。它是一个特殊的opener,可以理解成opener的一个特殊实例,传入的参数仅仅是url、data和timeout。它非常强大,我们可以利用该模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。创建一个带有cookie的opener,在访问登录的URL时,将登录后的cookie保存下来,然后利用这个cookie来访问其他网址。最后,我们使用自定义的opener打开URL并获取响应。

2024-04-22 13:40:15 909 6

原创 8.网络爬虫—深入理解Ajax请求与SSL证书验证

这类状态码表示请求已被服务器接收,需要客户端继续发送其他信息才能完成请求。例如,100(Continue)表示服务器已接收到请求头,客户端可以继续发送请求体。可以将响应数据按照指定的编码方式解码为Unicode字符串。:这类状态码表示需要客户端进行额外的操作才能完成请求。:这类状态码表示服务器在处理请求的过程中发生了错误。:这类状态码表示请求包含语法错误或请求无法实现。:这类状态码表示请求已成功被服务器处理。可以获取响应的编码方式。

2024-04-20 11:01:00 1544 12

原创 7.网络爬虫—Urllib库的进阶教学(伪装自己)

假如一个网站它会检测某一段时间某个IP 的访问次数,如果访问次数过多,它会禁止你的访问。所以你可以设置一些代理服务器来帮助你做工作,每隔一段时间换一个代理,网站君都不知道是谁在捣鬼了,这酸爽!透明代理:目标网站知道你使用了代理并且知道你的源IP地址,这种代理显然不符合我们这里使用代理的初衷。匿名代理:匿名程度比较低,也就是网站知道你使用了代理,但是并不知道你的源IP地址。高匿代理:这是最保险的方式,目标网站既不知道你使用的代理更不知道你的源IP。代表用的哪个请求的浏览器。

2024-04-20 10:50:40 231

原创 6.网络爬虫—Post请求与实战

POST请求是一种HTTP协议中的请求方法,用于向服务器提交数据以供处理。POST请求与GET请求是HTTP协议中最常用的两种请求方法,但它们在用途和功能上有所区别用途差异:POST请求通常用于创建资源,如上传文件、发布文章等操作,它允许用户向服务器发送大量数据。而GET请求主要用于获取资源,如查询、搜索等读操作。数据传输:在POST请求中,数据被放置在请求的body部分,并且可以支持多种编码方式。这使得POST请求能够传输大量的数据,而且不显示在URL中,从而提高了数据的安全性。

2024-04-19 16:34:39 563 2

原创 5.网络爬虫—Requests模块Get请求与实战

这种技术通常使用JavaScript来实现,当用户访问一个网站时,服务器会发送一个包含JavaScript代码的HTML文件,然后浏览器执行这些代码,从服务器获取数据,并根据这些数据动态生成和更新网页内容。在这种情况下,无法直接从预览中获取这些数据,因为它们是在浏览器端生成的,而不是直接从服务器获取的静态内容。GET请求,并获取了HTTP响应的正文和状态码,并根据状态码判断请求是否成功。根据HTTP响应状态码判断请求是否成功,如果状态码为200,则表示请求成功,否则表示请求失败。

2024-04-19 14:42:15 828 5

原创 4.Python网络爬虫—使用Urllib库爬取数据

Urllib是Python的一个内置库,专门用于处理HTTP请求。这个库包含四个主要模块:request:这是Urllib库中最基本的HTTP请求模块。使用该模块,你可以模拟发送各种HTTP请求,如GET、POST等。它允许你通过编程方式与Web服务器进行交互,获取或上传数据。error:此模块负责处理在HTTP请求过程中可能出现的错误。如果在请求过程中遇到问题,比如网络连接失败、服务器返回错误代码等,error模块可以帮助你捕获这些异常,并据此采取相应的措施,例如重新发送请求或者输出错误信息。

2024-04-18 18:23:14 806 3

原创 3.Python网络爬虫—常用工具Fiddler的使用教程

网络爬虫是一种自动获取网页内容的程序,在Python中,常用的网络爬虫工具主要包括Python编程语言、PyCharm集成开发环境(IDE)、浏览器和Fiddler。Python是一种通用的编程语言,广泛用于网络爬虫的开发。它提供了丰富的库和模块,如Requests、BeautifulSoup和Scrapy,这些库可以帮助我们发送HTTP请求、解析HTML页面以及提取所需的数据。

2024-04-18 17:38:29 533

原创 2.Python网络爬虫—什么是网络爬虫(下篇)?

Python是构建网络爬虫的热门选择,它拥有一系列强大的库和框架来支持网络爬虫的开发。Scrapy:这是一个为了爬取网站数据、提取结构性数据而编写的应用框架。Scrapy可以处理请求、解析内容并提取数据,同时还有处理登录、cookies和缓存的功能。:它是一个用于从网页中提取信息的库。BeautifulSoup能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方式。urllib:这是Python的标准库之一,包含了许多用于操作URL的函数。requests。

2024-04-16 09:21:31 1283

原创 1.Python网络爬虫—什么是网络爬虫(上篇)?

网络爬虫是一种自动化获取万维网信息的程序或脚本。网络爬虫,也被称为网页蜘蛛或网络机器人,是设计用来自动浏览和收集网络信息的算法驱动的软件。这些程序遵循特定的规则来访问网站,并从中提取数据,这些数据随后可以被存储、分析或用于其他目的。基本概念:网络爬虫通过模拟人类用户浏览网页的方式来工作,但它们以自动化的方式执行这一过程,能够快速地处理和分析大量网页。工作原理:网络爬虫从一个或多个初始网页开始,通常由用户指定,然后按照设定好的算法对网页内容进行爬取,并将数据保存到数据库中。

2024-04-15 18:35:26 1151

原创 机器学习、计算机视觉与NLP:从基础到深度学习的综合指南

机器学习是一门涉及多个领域的交叉学科,它的核心在于使计算机模拟或实现人类的学习行为,以获取新知识和技能,并不断改善自身性能。机器学习的定义和目的是通过让计算机从数据中自主学习,无需明确编程即可做出决策或预测。这一领域的目标包括从数据中自动发现模式和规律,利用这些发现来预测未来数据或未知情况。机器学习的分类可以从不同的角度进行划分,如基于学习策略、学习方法、学习方式和数据形式等。这些分类方法有助于理解不同机器学习算法的特点和适用场景。

2024-04-03 14:02:47 1057 2

原创 7.深度学习入门:误差反向传播法详细讲解

链式法则是微积分中的一种重要规则,它可以用于求解复合函数的导数。在数学中,复合函数是由多个函数组合而成的函数,例如fgxf(g(x))fgx)),其中gxg(x)gx和fxf(x)fx都是函数。链式法则描述了如何计算复合函数的导数,它可以帮助我们更好地理解函数之间的关系,从而解决复杂问题。若yfuy = f(u)yfuugxu = g(x)ugxdydxdydu⋅dudxdxdy​dudy​⋅dxd。

2023-07-10 17:48:21 532 3

原创 6.深度学习入门:数值微分,梯度,学习算法的实现详细讲解

例如,在物理学中,速度可以表示为位置关于时间的偏导数,加速度可以表示为速度关于时间的偏导数。前向差分使用函数在当前点和稍后一点的函数值来估计导数,后向差分使用函数在当前点和稍前一点的函数值来估计导数,而中心差分使用函数在当前点和当前点左右两侧的函数值来估计导数。梯度是多元函数的偏导数向量,它表示函数在某一点上的最大变化率的方向。偏导数是多元函数的导数的一种,它表示当函数的一个自变量变化时,函数的变化率。,它是一个二维向量,指向函数在某一点上的最大变化率的方向。在二元函数的情况下,偏导数可以表示为。

2023-07-08 09:50:20 2589 1

原创 5.深度学习入门:从神经网络的学习开始

在使用训练数据和测试数据时,通常会将数据集分成训练集和测试集两部分,比如将数据集的80%作为训练数据,20%作为测试数据。测试数据是用于测试机器学习模型准确性和泛化能力的数据集,它通常包含输入数据,但不包含输出数据。模型可以通过对测试数据的预测,来评估模型的准确性和泛化能力。训练数据是用于训练机器学习模型的数据集,它通常包含已知的输入和输出数据,模型可以通过这些数据来学习输入和输出之间的关系。合适的损失函数可以帮助我们衡量模型的性能、优化模型和调整模型参数,以便我们可以选择最佳的模型并获得最佳的预测结果。

2023-07-05 11:15:07 601

原创 4.深度学习入门:从输出层设计看深度学习在手写数字识别中的优势

在实际应用中,批处理的大小通常是一个超参数,需要根据具体的问题和模型进行调整。通常情况下,较大的批处理大小可以提高训练效率,但可能会降低模型的性能和泛化能力,而较小的批处理大小则可以提高模型的性能和泛化能力,但可能会降低训练效率。同时,需要注意数据的预处理和模型的调参,以提高模型的性能。softmax函数适用于多分类问题的输出层,而对于其他层,可以选择ReLU、tanh等激活函数。输出层的神经元数量只是一个通用的指导原则,实际应用中可能需要根据具体的问题和模型进行调整。

2023-07-04 15:50:36 999

原创 3.深度学习入门:多维数组的运算 多维数组 矩阵乘法 神经网络的内积 层神经网络的实现 符号确认 各层间信号传递的实现

初始化神经网络,包括输入层、隐藏层和输出层的大小、权重和偏置。sigmoid:sigmoid 激活函数,用于增强神经网络的表达能力。sigmoid_derivative:sigmoid 激活函数的导数,用于反向传播时计算梯度。feedforward:前向传播,用于将输入信号传递到输出层。backpropagation:反向传播,用于计算损失函数的梯度并更新权重和偏置。train:训练神经网络,包括多次迭代前向传播和反向传播。predict:预测输出结果。

2023-07-01 11:51:53 3774

原创 2.深度学习入门:感知机、神经网络和激活函数——探索人工智能的核心技术

但是,在某些情况下,阶跃函数也是有用的,例如在二元分类问题中,可以将阶跃函数作为输出层的激活函数,将输出值限制在0和1之间。这些非线性函数在神经网络中都有广泛的应用,例如Sigmoid函数和Tanh函数常用作激活函数,ReLU函数常用作卷积神经网络中的激活函数,Softmax函数常用于多分类问题中的输出层激活函数。上述代码中,step_function函数接受一个向量或矩阵形式的输入x,将其与0进行比较,生成一个布尔型的数组y,然后将y转换为整型数组,即可得到阶跃函数的输出。

2023-06-29 10:26:45 3774

原创 1.深度学习入门:感知机是什么和感知机的实现(详细讲解)

在上面的代码中,我们定义了一个Perceptron类,包含了感知机的初始化、训练和预测方法。在predict()方法中,我们通过计算加权和和阈值函数,得到一个二元输出,即将输入数据分为两类。在这个示例中,我们使用了一个简单的数据集,包含4个样本和2个特征。在以上示例代码中,我们通过将权重向量和偏置项设置为已知的值,来导入已经训练好的模型。在预测新数据时,我们可以使用已经训练好的模型来进行分类。在以上示例代码中,我们通过将权重向量和偏置项设置为已知的值,来导入已经训练好的模型。异或门有两个输入和一个输出。

2023-06-27 16:21:23 5091 2

原创 43.从入门到精通:创建数据库 创建一个数据库 判断数据库是否已存在 创建集合 增、删、改、查等操作

在上面的代码中,我们首先连接到MongoDB数据库,然后使用list_database_names()方法获取数据库列表。在上面的代码中,我们首先连接到MongoDB数据库,然后选择一个新的数据库mydatabase。在这个例子中,我们选择了一个名为mydatabase的数据库,并使用该数据库的create_collection()方法创建了一个名为customers的集合。需要注意的是,在MongoDB中,集合是动态的,即集合中的字段可以随时添加或删除。首先,我们指定要删除的记录的查询条件。

2023-06-27 14:34:54 4232

原创 42.从入门到精通:Python3 内置函数 Python MongoDB PyMongo pip 安装 easy_install 安装 测试 PyMongo

1.下载get-pip.py文件:可以从https://bootstrap.pypa.io/get-pip.py下载get-pip.py文件。注意:在Windows中,需要将Python和pip的安装目录添加到系统环境变量中,才能在命令行中直接使用python和pip命令。这是一个基本的示例,你可以根据自己的需求使用PyMongo库进行更复杂的操作。这是一个基本的示例,你可以根据自己的需求使用PyMongo库进行更复杂的操作。如果pip安装成功,会输出pip的版本信息。

2023-06-27 14:28:54 4425

原创 41.从入门到精通:格式化日期 获取某月日历 Time 模块 日历(Calendar)模块 其他相关模块和函数

在上面的例子中,我们使用 month() 函数获取 2021 年 6 月的日历,并将其赋值给变量 cal。日历(Calendar)模块是 Python 标准库中的一个模块,提供了一些与日期和时间相关的函数和类,可以用于处理日期和时间,例如获取指定月份的日历、计算两个日期之间的天数等等。calendar 模块:提供了一些与日历相关的函数和变量,例如获取指定年份和月份的日历、判断某一年是否为闰年等。pytz 模块:提供了时区相关的函数和变量,例如可以获取指定时区的当前时间、将本地时间转换为指定时区的时间等。

2023-06-27 14:08:31 4250

原创 40.从入门到精通:Python3 JSON 数据解析 Python3 日期和时间 什么是时间元组? 获取当前时间 获取格式化的时间

时间元组(Time tuple)是指一个包含9个元素的元组,用于表示时间信息,包括年、月、日、时、分、秒、一周中的第几天、一年中的第几天、是否为夏令时。其中,各元素的含义如下:year:年份,如2021month:月份,取值范围为1~12day:日期,取值范围为1~31hour:小时,取值范围为0~23minute:分钟,取值范围为0~59second:秒数,取值范围为0~59weekday:一周中的第几天,取值范围为0~6(0表示周一,1表示周二,以此类推)

2023-06-27 12:45:34 4342

原创 39.从入门到精通:parseString 方法 Python 解析XML实例 使用xml.dom解析xml

使用 parseString 方法可以将 XML 字符串解析为一个 DOM树,然后可以使用 DOM 树提供的方法对 XML 文档进行遍历和操作。需要注意的是,使用 parseString 方法解析 XML 字符串时,如果 XML 字符串格式不正确,会抛出异常。在这个示例中,我们使用 ElementTree 解析库解析了一个 XML 文件,并使用 getroot() 方法获取了根节点。for 循环遍历根节点的所有子节点,并输出节点的标签和属性。接着我们使用 find() 方法获取指定节点的文本内容。

2023-06-27 11:38:05 5223

原创 38.从入门到精通:Python3 XML 解析 什么是 XML Python 对 XML 的解析 Python 使用 SAX 解析 xml make_parser 方法 parser 方法

XML(可扩展标记语言)是一种用于描述数据的标记语言,它可以用于表示各种类型的数据,包括文本、图像、音频、视频等。XML 的语法类似于HTML,但它更加灵活,可以自定义标记,并且不依赖于任何特定的应用程序或操作系统。XML的基本结构由元素、属性和文本组成。元素是标记的基本单位,它由开始标记、结束标记和元素内容组成。属性是用于描述元素的附加信息,它由属性名和属性值组成。文本是元素的内容,可以包含任何类型的数据。XML 可以用于数据交换、配置文件、Web 服务等领域。

2023-06-27 11:28:02 5178

原创 37.从入门到精通:Python3 多线程 线程模块 使用 threading 模块创建线程 线程同步 线程优先级队列( Queue)

在这个例子中,我们创建了两个线程,一个线程用于增加变量 x 的值,另一个线程用于减少变量 x 的值。需要注意的是,在多线程编程中,需要注意线程之间的同步问题,例如共享资源的访问问题等。在这个例子中,我们创建了两个线程,一个线程用于增加变量 x 的值,另一个线程用于减少变量 x 的值。方法将三个元素插入队列中,每个元素都是一个元组,第一个元素表示优先级,第二个元素是具体的数据。这样,主线程将等待子线程完成后再退出。方法从队列中取出元素,队列会按照元素的优先级从高到低排序,优先级相同的元素按照插入顺序排序。

2023-06-27 09:50:40 4949

原创 36.从入门到精通:CGI环境变量 GET和POST方法 GET方法 POST方法 CGI中使用Cookie Cookie设置 检索Cookie信息

以上是简单的Cookie设置和发送过程,实际上还有很多细节需要注意,例如Cookie的域名、路径、过期时间等。另外,如果需要在多个HTTP请求之间共享Cookie,可以将CookieJar保存到文件中,或者使用类似Redis这样的缓存服务器来保存Cookie。在Python中,可以使用标准库中的urllib和http.client模块来发送GET和POST请求,也可以使用第三方库(例如requests)来简化HTTP请求的处理。请注意,此代码中的“path=/”指定可以访问cookie的所有页面的路径。

2023-06-26 12:30:18 4645

原创 35.从入门到精通:Python CGI编程 什么是CGI 网页浏览 CGI架构图 Web服务器支持及配置 第一个CGI程序 HTTP头部

CGI是一种通用网关接口,它是一种标准的协议,用于在Web服务器上运行外部程序(通常是脚本程序)。CGI程序可以在Web服务器上生成动态内容,例如网页表单的处理、数据库查询和图像生成。CGI程序可以用多种编程语言编写,例如Python、Perl、C++等。在Python中,CGI编程可以使用内置的CGI模块来实现。这个模块提供了一些函数,可以方便地处理CGI请求和响应。

2023-06-26 11:32:16 4924

原创 34.从入门到精通:Python3 正则表达式检索和替换 repl 参数是一个函数 正则表达式对象 正则表达式修饰符 - 可选标志 正则表达式模式* 正则表达式实例

需要注意的是,repl 函数必须接受一个参数,这个参数是一个匹配对象,可以通过调用 group() 方法来获取匹配的字符串。在这个例子中,首先定义了一个要替换的字符串 text,然后使用 re.sub() 函数替换所有的单词为大写字母。在这个例子中,首先定义了一个要进行替换的字符串 text,然后使用正则表达式 \b\w{4}\b 匹配所有长度为 4 的单词,并使用。其中,pattern 表示要匹配的正则表达式,repl 表示要替换成的字符串,string 表示要进行替换的字符串,count。

2023-06-26 09:36:18 4474

原创 33.从入门到精通:Python3 正则表达式 re.match函数 re.search方法 re.match与re.search的区别

接着使用re.match()函数进行匹配,如果匹配成功,match()函数返回一个匹配对象,否则返回None。在这个例子中,首先定义了一个要匹配的字符串 text,然后使用 re.findall() 函数来匹配所有的单词。在这个例子中,正则表达式 “world” 不匹配字符串 “hello world” 的开头,因此 re.match() 函数返回 None。在这个例子中,正则表达式 “hello” 匹配字符串 “hello world” 的开头,因此 re.match() 函数返回一个匹配对象。

2023-06-26 09:31:01 4868

原创 32.从入门到精通:Python错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和时间

接下来使用re模块中的findall函数进行匹配,它会返回一个列表,其中包含了所有符合模式的子串。最后输出匹配结果,可以看到输出的结果是一个列表,其中包含了所有匹配到的单词。除了findall函数之外,re模块还提供了其他一些函数,用于进行字符串正则匹配,例如search函数、match函数、sub函数等等。除了这些基本操作之外,datetime模块还提供了许多其他的日期和时间操作,例如时区转换、日期和时间的加减、日期和时间的比较等等。在上面的代码中,如果程序遇到异常,它将打印错误信息并以状态码1退出。

2023-06-26 09:22:19 4201 1

原创 31.从入门到精通:Python数据压缩 性能度量 测试模块

在这个例子中,首先定义了一个要压缩的数据,然后使用gzip.compress()函数进行压缩,得到压缩后的数据。最后输出解压缩后的数据,可以看到输出的结果是原始数据。在这个例子中,首先定义了一个要压缩的文件,然后使用ZipFile类创建一个zip文件,并将要压缩的文件添加到zip文件中。在这个例子中,首先定义了要执行的程序代码,然后使用timeit.timeit()函数多次运行这段代码,并测量它的平均运行时间。因此,在进行性能度量时,需要尽可能消除这些因素的影响,以得到更加准确的结果。

2023-06-26 09:19:05 4134

原创 30.从入门到精通:Python3 命名空间和作用域 命名空间 作用域 Python3 标准库概览 操作系统接口 文件通配符 命令行参数 错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和

例如,如果在函数内部访问一个变量,Python3会首先查找局部作用域中是否存在这个变量,如果不存在,则查找嵌套作用域中是否存在这个变量,如果还不存在,则查找全局作用域中是否存在这个变量,最后查找内置作用域中是否存在这个变量。需要注意的是,当在函数内部访问一个变量时,Python解释器会首先查找局部命名空间,如果该变量在局部命名空间中不存在,则会查找全局命名空间。该函数接受一个可选的整数参数,表示程序的退出状态码。在这个程序中,首先检查命令行参数的数量是否为3,如果不是,则打印出程序的使用方法。

2023-06-25 14:40:41 4136

原创 29.从入门到精通:Python3 面向对象继承 多继承 方法重写 类属性与方法

由于Student 类继承了 Person 类的 say_hello() 方法,因此在调用子类的 say_hello() 方法时,父类的say_hello() 方法也会被调用。类 A 和 B 分别定义了一个方法 method_a 和 method_b,类 C继承了类 A 和类 B,并且定义了一个方法 method_c。我们还重写了父类 Person 的 say_hello() 方法,并在子类 Student 的 say_hello() 方法中调用了父类的say_hello() 方法,并添加了自己的输出。

2023-06-25 12:34:16 4468

原创 28.从入门到精通:Python3 面向对象 面向对象技术简介 类定义 类对象 类的方法

面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将现实世界中的事物抽象为对象,通过对象之间的交互实现程序的设计和实现。面向对象编程是一种强大的编程模型,它可以提高程序的可维护性、可重用性和可扩展性。在面向对象编程中,一个对象是一个实例,它包含有状态和行为。状态是对象的属性,行为是对象的方法。对象之间可以通过消息传递来相互交互,从而实现程序的功能。封装(Encapsulation):封装是指将对象的状态和行为封装在一起,通过接口来隐藏对象的实现细节。

2023-06-25 11:48:19 4082

原创 27.从入门到精通:Python异常处理 抛出异常 用户自定义异常 定义清理行为 预定义的清理行为

异常处理抛出异常用户自定义异常定义清理行为预定义的清理行为在Python中,您可以通过创建自己的异常类来定义自定义异常。自定义异常类是一个继承自Exception类的类,它可以包含自定义属性和方法。在这个例子中,我们创建了一个名为MyError的自定义异常类,它继承自Exception类。我们还定义了一个名为message的属性,该属性包含有关异常的信息。要引发自定义异常,您可以像引发标准异常一样使用raise语句,并传递一个异常对象。raise MyError("发生了自定义异常!")

2023-06-25 11:23:38 4159

原创 26.从入门到精通:Python3 OS 文件/目录方法 Python3 错误和异常 语法错误 异常

在上面的示例中,我们尝试对 10 进行除以 0 的操作,这会导致 ZeroDivisionError 异常的抛出。finally 语句来捕获这个异常并进行处理,最后无论有没有异常都会执行 finally 代码块中的代码。finally 语句来捕获这个异常并进行处理,最后无论有没有异常都会执行 finally 代码块中的代码。我们可以使用 try…try 代码块中包含可能会发生异常的代码,except代码块中包含处理异常的代码,finally 代码块中包含无论是否发生异常都会执行的代码。

2023-06-25 11:16:37 4123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除