Python
文章平均质量分 57
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
钢铁男儿
敲代码路上,一步一个脚印!
展开
-
python scrapy的模拟登录
学习目标:1、应用 请求对象cookies参数的使用;2、了解 start_requests函数的作用;3、应用 构造并发送post请求;1、回顾之前的模拟登录的方法1.1、requests 模块是如何实现模拟登录的?1)、直接携带cookies请求页面;2)、找url地址,发送post请求存储cookie1.2 selenium是如何模拟登录的?1)、找到对应的input标签,输入文本点击登录;1.3 scrapy的模拟登录1)、直接携带cookies2)、找url地址,发送pos原创 2022-01-23 17:20:21 · 679 阅读 · 0 评论 -
Python scrapy数据建模与请求
学习目标:1、应用 在scrapy项目中进行建模;2、应用 构造 Request 对象,并发送请求;3、应用 利用meta参数在不同的解析函数中传递数据;1、数据建模通常在做项目的过程中,在items.py中进行数据建模。1.1 为什么建模1)、定义item即提前规划好哪些字段需要抓,防止手误,因为定义好之后,在运行过程中,系统会自动检查;2)、配合注释一起可以清晰的知道要抓取哪些字段,没有定义的字段不能抓取,在目标字段少的时候可以使用字段代替;3)、使用scrapy的一些特定组件需要It原创 2022-01-20 22:14:43 · 792 阅读 · 1 评论 -
Python scrapy的入门使用
学习目标:1.掌握 scrapy的安装;2.应用 创建scrapy的项目;3.应用 创建scrapy 爬虫;4.应用 运行scrapy爬虫;5.应用 scrapy定位以及提取数据或属性值得方法;6.掌握 response响应对象的常用属性;1、安装scrapypip install scrapy2、scrapy项目开发流程1)、创建项目scrapy startproject mySpider2)、生产一个爬虫scrapy genspider itcast itcast.cn3)原创 2022-01-17 21:40:23 · 1252 阅读 · 0 评论 -
Python scrapy的概念和流程
学习目标:1、了解 scrapy的概念;2、了解 scrapy框架的作用;3、掌握 scrapy框架的运行流程;4、掌握 scrapy中每个模块的作用;scrapy的概念Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。Scrapy是一个Twisted异步网络框架,可以加快我们的下载速度。scrapy框架的作用少量的代码,就能够快速的抓取。scrapy的流程其流程可以描述如下:1、爬虫中起始的url构造成reques原创 2022-01-17 20:50:46 · 286 阅读 · 0 评论 -
Python mongodb的简单使用
学习目标:1、掌握 服务端的启动;2、掌握 客户端的使用;3、掌握 mongodb的数据库和集合命令4、了解 文档中的_id字段1、mongodb服务端的启动默认端口:27017默认配置文件的位置:/etc/mongod.conf默认日志的位置:/var/log/mongodb/mongod.logmongodb服务器启动分别两种方式:本地测试方式的启动(只具有本地数据增删改查的功能)生产环境启动(具有完整的全部功能)1.1 测试方式启动启动:sudo service mongod原创 2022-01-16 21:14:55 · 351 阅读 · 0 评论 -
Python mongodb数据库
介绍在前面的课程中我们学习了mysql这种关系型数据库,那么接下来,我们会来学习一种非数据库mongodb,mongodb数据库主要用于海量存储,常被用在数据采集项目中。内容mongodb的介绍和安装mongodb的简单使用mongodb的增删改查mongodb的聚合操作mongodb的索引操作mongodb的权限管理mongodb和python交互(pymongo模块)1、mongodb的介绍1.1 什么是mongodbmongodb是一个功能最丰富的NoSQL非关系数据库。由C+原创 2022-01-16 20:21:58 · 1517 阅读 · 0 评论 -
Python js的解析
学习目标:1、了解 定位js的方法;2、了解 添加断点观察js的执行过程的方法;3、应用 js2py 获取js的方法;1 确定js的位置对于前面人人网的案例,我们知道了url地址中有部分参数,但是参数是如何生产的呢?毫无疑问,参数肯定是js生产的,那么如何获取这些参数的规律呢?通过下面的学习来了解2、js2py的使用在知道了js如何生产我们想要的数据之后,那么接下来我们就需要使用程序获取js执行之后的结果了。2.1 js2py的介绍js2py是一个js的翻译工具,也是一个通过纯pytho原创 2022-01-14 20:24:06 · 2236 阅读 · 0 评论 -
Python chrome浏览器使用方法介绍
学习目标1、了解 新建隐身窗口的目的;2、了解 chrome中network的使用;3、了解寻找登录接口的方法;1 新建隐身窗口浏览器中直接打开网站,会自动带上之前网站时保存的cookie,但是在爬虫首次获取页面是没有携带cookie的,这种情况如何解决呢?使用隐身窗口,首次打开网站,不会带上cookie,能够观察页面的获取情况,包括对方服务器如何设置cookie在本地。2、chrome中network的更多功能2.1 Perserve log默认情况下,页面发生跳转之后,之前的请求ur原创 2022-01-14 09:40:14 · 1848 阅读 · 0 评论 -
Python 验证码处理
学习目标1、了解 验证码的相关知识2、掌握 图片识别引擎的使用3、了解 常见的打码平台4、掌握 通过打码平台处理验证码的方法1、图片验证码1.1 什么是图片验证码验证码(CAPTCHA)是"Completely Autonmated Public Turing test to tell Computers and Humans Apart"(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。1.2 验证码的作用防止恶意破解密码、刷票、论坛灌水、刷页。原创 2022-01-13 22:35:42 · 1521 阅读 · 0 评论 -
Python 常见的反爬手段和解决思路
学习目标:1、了解 服务器反爬的原因;2、了解 服务器常反什么样的爬虫;3、了解 反爬虫领域常见的一些概念;4、了解 反爬的三个方向;5、了解 常见基于身份识别进行反爬;6、了解 常见基于爬虫行为进行反爬;7、了解 常见基于数据加密进行反爬;1、服务器反爬的原因爬虫占总PV(PV是指页面的访问次数,每打开或刷新一次页面,就算做义工pv)比例较高,这样浪费钱(尤其是三月份爬虫)。三月份爬虫是个什么概念?每年的三月份我们会迎来一次爬虫高峰期,有大量的硕士在写论文的时候会选择爬取一些网站,并进原创 2022-01-05 21:18:22 · 1805 阅读 · 0 评论 -
Python Selenium其他使用方法
知识点:掌握selenium控制标签页的切换;掌握selenium控制iframe的切换;掌握 利用selenium获取cookie的方法;掌握 手动实现页面等待;掌握 selenium控制浏览器执行js代码的方法;掌握selenium开启无界面模式;了解 selenium使用代理ip;了解selenium替换user-agent;1、selenium标签页的切换当selenium控制浏览器打开多个标签页时,如何控制浏览器在不同的标签页中进行切换呢?需要我们做以下两步:获取所有标签页的原创 2022-01-03 22:01:08 · 920 阅读 · 1 评论 -
Python Selenium 数据提取
Selenium提取数据知识点:了解driver对象的常用属性和方法;掌握driver对象定位标签元素获取标签对象的方法;掌握 标签对象提取文本和属性值的方法;1、driver对象的常用属性和方法在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法;1)、driver.page_source 当前标签页浏览器渲染之后的网页源代码;2)、driver.current_url 当前标签页的url;3)、driver.close() 关闭当前标签页,如果原创 2022-01-03 20:44:50 · 684 阅读 · 0 评论 -
Python Selenium 概要
学习selenium自动化测试框架在爬虫中的应用,selenium能够大幅降低爬虫的编写难度,但是也同样会大幅降低爬虫的爬取速度。在逼不得已的情况下我们可以使用selenium进行爬虫的编写。了解selenium的工作原理;了解selenium以及chromedriver的安装;掌握 标签对象click点击以及send_keys输入;1、selenium运行效果展示Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium可以直接调用浏览器,它支持所有主流的浏览原创 2022-01-02 18:17:11 · 449 阅读 · 0 评论 -
Python 数据提取 -lxml模块
知识点了解lxml模块和xpath语法的关系;了解lxml模块的使用场景;了解lxml模块的安装;了解 谷歌浏览器xpath helper插件的安装和使用;掌握xpath语法-基础节点选择语法;掌握 xpath语法 -节点修饰语法;掌握xpath语法 - 其他常用语法;掌握 lmxl模块中使用xpath语法定位元素提取数学值或文本内容;掌握lxml模块etree.tostring函数的使用;1、了解lxml模块和xpath语法对html或xml形式的文本提取特定的内容,就需要我们掌握l原创 2022-01-02 11:07:42 · 1265 阅读 · 0 评论 -
Python 数据提取概要
数据提取概要本阶段课程主要学习获取响应之后如何从响应中提取我们想要的数据,在本阶段课程中我们会讲解一些常用的方法和模块,基本上我们以后遇到的情况在掌握本阶段课程之后都能搞定。知识点了解 响应内容的分类;了解 xml和html的区别;1、响应内容的分类在发送请求获取响应之后,可能存在多种不同类型的响应内容;而且很多时候,我们只需要响应内容中的一部分数据。结构化的响应内容json 字符串可以使用re、json等模块提取特定数据;json字符串的例子如下图;xml字符串可以使用re、lx原创 2022-01-01 15:44:47 · 1009 阅读 · 0 评论 -
Python requests 模块
知识点:掌握headers参数的使用;掌握 发送带参数的请求;掌握 headers中携带cookie;掌握 cookies参数的使用;掌握 cookieJar的转换方法;掌握 超时参数timeout的使用;掌握 代理ip参数proxies的使用;掌握 使用verify参数忽略CA证书;掌握 requests模块发送post请求;掌握 利用requests.session进行状态保持;1、requests 模块介绍发送http请求,获取响应数据requests 模块发送get请求1原创 2021-12-26 11:10:56 · 1111 阅读 · 0 评论 -
Python http协议复习
知识点掌握http以及https的概念和默认端口;掌握 爬虫关注的请求头和响应头;了解 常见的响应状态码;理解 浏览器和爬虫获取的区别;一提起http协议,大家都会想起它是一个应用层协议,那么http协议跟爬虫有什么关系?请看下图:1、http以及https的概念和区别HTTPS比HTTP更安全,但是性能更低HTTP:超文本传输协议,默认端口号80超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件;传输协议:是指使用共用的固定格式来传输转换成字符串的超文本内容;HTTP原创 2021-12-24 21:39:47 · 601 阅读 · 0 评论 -
Python 爬虫
知识点:了解 爬虫的概念了解 爬虫的分料掌握 爬虫的流程1、爬虫的概念模拟浏览器,发送请求,获取响应。网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是客户端(浏览器)能做的事情,爬虫都能够做;爬虫也只能获取客户端(浏览器)所展示出来的数据。2、爬虫的作用爬虫在互联网世界中有很多的作用,比如:1、数据采集1)、抓取微博评论(机器学习舆论监控);2)、抓取招聘网站的招聘细心(原创 2021-12-24 20:58:55 · 95 阅读 · 0 评论 -
Pzython vi终端中的编辑器
目标vi 简介打开和新建文件三种工作模式常用命令分屏命令常用命令速查图1、vi 简介1.1 学习 vi 的目的在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可。常见需要修改的文件包括:源程序配置文件 例如 ssh 的配置文件 ~/.ssh/config在没有图形界面的环境下,要编辑文件,vi 是最佳选择!每一个要使用 Linux 的程序员,都应该或多或少的学习一些 vi 的常用命令。1.2 vi 和 v原创 2021-12-24 10:43:30 · 84 阅读 · 0 评论 -
Python 飞机大战 碰撞检测
目标了解碰撞检测方法碰撞实现1、了解碰撞检测方法pygame 提供了 两个非常方便 的方法可以实现碰撞检测:pygame.sprite.groupcollide()两个精灵组中 所有的精灵 的碰撞检测groupcollide(group1,group2,collided = None) -> Sprite_dict如果将 dokill 设置为 True, 则 发生碰撞的精灵将被自动移除collided 参数是用于 计算碰撞的回调函数如果没有指定,则每个精灵必须有一个 rect 属原创 2021-12-24 10:24:18 · 2486 阅读 · 0 评论 -
Python 英雄登场
目标设计 英雄 和 子弹 类使用 pygame.key.get_pressed() 移动英雄发射子弹1、设计 英雄 和 子弹 类英雄需求1、游戏启动后,英雄 出现在屏幕的 水平中间 位置,距离 屏幕底部 120 像素;2、英雄 每隔 0.5 秒发射一次子弹,每次 连发三枚子弹;3、英雄 默认不会移动,需要通过 左/右 方向键,控制 英雄 在水平方向移动;子弹需求1、子弹 从 英雄 的正上方发射 沿直线 向 上方 飞行;2、飞出屏幕后,需要从 精灵组 中删除;Hero — 英雄初原创 2021-12-23 14:54:52 · 2743 阅读 · 0 评论 -
Python 敌机出场
目标使用 定时器 添加敌机设计 Enemy 类1、使用定时器添加敌机运行 备课代码,观察 敌机的 出现规律:1)、游戏启动后,每隔 1 秒 会 出现一架敌机;2)、每架敌机 向屏幕下方飞行,飞行 速度不相同;3)、每架敌机出现的 水平位置 也不尽相同;4)、当敌机 从屏幕下方飞出,不会再飞回到屏幕中;1.1 定时器在 pygame 中可以使用 pygame.time.set_timer() 来添加 定时器;所谓 定时器,就是 每隔一段时间,去 执行一些动作;set_timer(eve原创 2021-12-23 14:26:28 · 2299 阅读 · 0 评论 -
Python 游戏背景
目标背景交通滚动的思路确定显示游戏背景1、背景交通滚动的思路确定运行 备课代,观察 背景图像的显示效果:游戏启动后,背景图像 会 连续不断地 向下方 移动;在 视觉上 产生英雄的飞机不断向上飞行的 错觉 ---- 在很多跑酷类游戏中常用的套路游戏的背景 不断变化;游戏的主角 位置保持不变;1.1 实现思路分析解决办法1、创建两张背景图像精灵第 1 张 完全和屏幕重合;第2 张 在 屏幕的正上方;2、两张图像一起向下方运动self.rect.y += self.speed3、原创 2021-12-22 21:37:54 · 333 阅读 · 0 评论 -
Python 游戏框架搭建
目标 – 使用 面向对象 设计 飞机大战游戏类。目标明确主程序职责实现主程序类准备游戏精灵组1、明确主程序职责回顾 快速入门案例,一个游戏主程序的 职责 可以分为来应该部分:游戏初始化;游戏循环;根据明确的职责,设计 PlanGame 类如下:提示:根据 职责 封装私有方法,可以避免某一个方法的代码写得太过冗长,如果某一个方法编写的太长,既不好阅读,也不好维护!2、实现 飞机大战主游戏类2.1 明确文件职责plane_main1、封装 主游戏类;2、创建 游戏对象;3、原创 2021-12-22 20:43:54 · 1279 阅读 · 2 评论 -
Python 理解 精灵 和 精灵组
1.1 精灵 和 精灵组在刚刚完成的案例中,图像加载、位置编号、绘制图像 都需要程序员编写代码分别处理。为了简化开发步骤: pygame 提供两个类。pygame.sprite.Sprite — 存储 图像数据 Image 和 位置 rect 的 对象。pygame.sprite.Group()1.2 派生精灵子类1.新建 plane_sprites.py 文件;2.定义 GameSprite 继承自 pygame.sprite.Sprite;注意:如果一个类的 父类 不是 object原创 2021-12-22 20:00:22 · 2086 阅读 · 0 评论 -
Python 项目实战 ---- 飞机大战
目标强化 面向对象 程序设计;体验使用 pygame 模块进行 游戏开发;实战步骤1、pygame 快速体验;2、飞机大战 实战;确认模块 ---- pygamepygame 就是一个 Python 模块,专为电子游戏设计;提示:要学习第三方模块,通常最后的参考资料就再官方网站。项目准备1)、新建 飞机大战 项目;2)、新建一个 pygame入门.py;3)、导入 游戏素材图片;游戏的第一印象把一些 静止的图像 绘制到 游戏窗口 中;根据 用户的交互 或其他情况,移动 这些图像原创 2021-12-22 19:26:01 · 1187 阅读 · 0 评论 -
Python evel函数
eval() 函数十分强大 — 将字符串 当成 有效的表达式 来 求值 并 返回计算结果。案例 — 计算器需求1)、提示用户输入一个加减乘除混合运算;2)、返回计算结果;input_str = input("请输入算术题:")print(input_str)不哟滥用eval在开发时千万不要使用 eval 直接转换 input 的结果。_import_('os').system('ls')等价代码import osos.system("终端命名")执行成功,返回0;执行失败原创 2021-12-22 15:49:16 · 1446 阅读 · 0 评论 -
Python 文件
目标文件的概念文件的基本操作文件/文件夹的常用操作文本文件的编码方式1、文件的概念1.1、文件的概念和作用计算机的 文件,就是存储在某种 账期存储设备 上的一段 数据;账期存储设备包括:硬盘、U盘、移动硬盘、光盘…文件的作用将数据账期保存下来,在需要的时候使用1.2 文件的存储方式在计算机中,文件是以 二进制 的方式保存在磁盘上的。文本文件和二进制文件文本文件可以使用文本编辑软件 查看;本质上还是二进制文件;例如:Python 的源程序二进制文件保存的内容 不是给人直接原创 2021-12-22 09:58:07 · 210 阅读 · 0 评论 -
Python 包(Package)
概念:包 是一个 包含多个模块 的 特殊目录;目录 下有一个 特殊的文件 init.py包名的 命名方式 和变量名一致,小写字母 +好处使用 import 包名 可以一次导入 包 中 所有的模块。案例演练1)、新建一个 hm_message 的 包;2)、在目录下,新建两个文件 send_message 和 receive_message;3)、在 send_message 文件中定义一个 send 函数;4)、在 receive_message 文件中定义一个 receive 函数;原创 2021-12-21 17:18:34 · 201 阅读 · 0 评论 -
Python 模块
1、模块1.1 模块的概念呢模块是 Python 程序架构的一个核心概念;每一个以扩展名 .py 结尾的 Python 源代码文件都是一个 模块;模块名 同样也是一个 标识符,需要符合标识符的命名规则;在模块中定义的 全局变量、函数、类 都是提供给外界治具使用的工具;模块 就好比是 工具包,要想使用这个工具包中的工具,就需要先 导入 这个模块;1.2 模块的两种导入方式1) import 导入import 模块名1,模块名2提示:在导入模块时,每个导入应该独占一行import 模块原创 2021-12-21 16:11:46 · 170 阅读 · 0 评论 -
Python 异常
目标:异常的概念捕获异常异常的传递自定义异常1、异常的概念程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常。程序停止执行并且提示错误信息 这个动作,我们通常称之为 抛出(raise)异常。程序开发时,很难将 所有的特殊情况 都处理的面面俱到,通过 异常捕获 可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性。2、捕获异常2.1、简单的捕获异常语法在程序开发中,如果 对某些diam的执行不能确定是否正确,可以增转载 2021-12-20 21:47:55 · 309 阅读 · 0 评论 -
Python 中的单例
单例 — 让 类 创建的对象,在系统中 只有唯一的一个实例;1)、定义一个类属性,初始值是 None ,用于记录 单例对象的引用;2)、重写 new 方法;3)、如果 类属性 is None,调用父类方法分配空间,并在类属性中记录结果;4)、返回 类属性 中记录的 对象引用;class MusicPlayer(object): # 记录第一个被创建对象的引用 instance = None def __new__(cls, *args, **kwargs):原创 2021-12-20 21:26:04 · 446 阅读 · 0 评论 -
Python 单例(一)
目标单例设计模式new 方法Python 中的单例单例设计模式设计模式设计模式 是前人工作的总结合提炼。通常,被人怎么广泛流传的设计模式都是针对 某一特定问题 的成熟的解决方案;使用 设计模式 是伟龙可重用代码、让代码更容易被他人理解、保证代码 可靠性;单例设计模式目的 — 让 类 心理的对象,在系统中 只有唯一的一个实例;每一次执行 类名()返回的对象,内存地址是相同的;单例设计模式的应用场景音乐播放 对象;回收站 对象;打印机 对象;2、new 方法使用 类名() 创建对原创 2021-12-19 17:05:06 · 205 阅读 · 0 评论 -
Python 类方法综合案例
需求:1)、设计一个 Game 类2)、属性:定义一个 类属性 top_score 记录游戏的 历史最高分;定义一个 实例属性 player_name 记录 当前游戏的玩家姓名;3)、方法:静态方法 show_help 显示游戏规则的信息;类方法 show_top_score 显示历史最高分;实例方法 start_game 开始当前玩家的游戏;4)、主程序步骤:(a)、查看帮助信息;(b)、查看历史最高分;(c)、创建游戏对象、开始游戏;案例小结1、实例方法 — 方法内原创 2021-12-19 16:44:55 · 534 阅读 · 0 评论 -
Python 类的方法和静态方法
1、类方法类属性 就是针对 类对象 定义的属性使用 赋值语句 在 class 关键字下方可以定义 类属性;类属性 用于记录 与这个类相关 的特征;类方法就是针对 类对象 定义的方法在 类方法 内部可以治具访问 类属性 后置调用其他的 类方法;语法如下:@classmethoddef 类方法名(cls) pass类方法需要用 编辑器 @classmethod 来标识,告诉编辑器这是一个类方法;类方法的 第一个参数 应该是cls由 哪一个类 调用的方法,方法内的 cls 就是原创 2021-12-19 11:18:39 · 447 阅读 · 0 评论 -
Python 类的结构
1、类的结构1.1、术语 – 实例1)、使用面向对象开发,第1步 是设计 类;2)、使用 类名() 创建对象,创建对象 的动作有两步:第一步:在内存中尾对象 分配空间;第二步:调用初始化方法 init 为 对象初始化;3)、对象创建后,内存 中就有一个对象的 实实在在 的存在 — 实例;因此,通常也会把:1)、创建出来的 对象 叫做 类的 实例;2)、创建对象的 动作 叫做 实例化;3)、对象的属性 叫做 实例属性;在程序运行时:1)、对象各自拥有自己的 实例属性;2)、调用对象原创 2021-12-19 10:39:11 · 1714 阅读 · 0 评论 -
Python 多态
目标:多态面向对象三大特性:1)、封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中;定义类的准则:2)、继承 实现代码的重用,相同的代码不需要重复的编写;设计类的技巧子类针对自己持有的需求,编写特定的代码;3)多态 不同的 子类对象 调用相同 父类方法,产生不同的执行结果;多态 可以 增加代码的灵活性;以 继承 和 重写父类方法 为前提;是调用方法的技巧,不会影响到类的内部设计;需求1)、在 Dog 类中封装方法 game;普通狗值时假定的玩耍2)、定义 Xi原创 2021-12-18 11:50:37 · 3440 阅读 · 0 评论 -
Python 多继承
1、多继承概念子类 可以拥有 多个父类,并且具有 所有父类的 属性 和 方法;例如:孩子 会继承自己 父亲 和 母亲 的 特性;语法class 子类(父类1,父类2...) passclass A: def test(self): print("test 方法")class B: def demo(self): print("demo 方法")class C(A,B): """多继承可以让子类对象 同时具有多个父类原创 2021-12-18 11:30:36 · 5357 阅读 · 0 评论 -
Python 父类的 私有属性 和 私有方法
1、子类对象 不能够在自己的方法内部,直接 访问 父类的 私有属性 或 私有方法;2、子类对象 可以通过 父类 的公有方法 间接 访问到 私有属性 或 私有方法;私有属性、方法 是对象的隐私,不对外公开,外界 以及 子类 都不能直接访问;私有属性、方法 通常用于做一些内部的事情;B 的对象不能够直接访问 _num2 属性;B 的对象不能再 demo 方法内部访问 _num2 属性;B 的对象可以在 demo 方法内,调用父类的 test 方法;父类的 test 方法内部,能够访问 _num原创 2021-12-17 17:46:04 · 1164 阅读 · 0 评论 -
Python方法的重写
1、方法的重写子类 拥有 父类 的所有 方法 和 属性;子类 继承自 父类,可以直接 享受 父类中已经封装好的方法,不需要再次开发;应用场景当 父类 的方法实现不能满足子类需求时,可以对方法进行 重写(override)重写 父类方法有两种情况:1)、覆盖 父类的方法;2)、对父类方法进行 扩展;(1)、具体的实现方式,就相当于在 子类中 定义一个 和 父类同名的方法并且实现;重新之后,在运行时,只会调用 子类中重写的方法,而不会调用 父类封装的方法;class Animal:原创 2021-12-17 16:55:52 · 4565 阅读 · 0 评论