程序猿大战Python——面向对象——面向对象的概念

news2024/11/25 0:35:54

两个重要概念

==目标:==了解什么是类,什么是对象?

要掌握Python面向对象的特性,首先需要了解两个重要概念:类、对象。

我们通过公司职员-张三为例子来解释说明。

类是抽象的概念,指的是:对某些事物的描述。[模板]

对象是具体的概念,指的是:实实在在存在的个体。[填写]

例如,请判断以下哪些是类,哪些是对象?

(1)员工;类
(2)《陈翔六点半》里的演员妹爷;
(3)手机;类
(4)被8分钟残忍嘎腰子的那只羊;
(5)银行卡;类
(6)昆虫;类
(7)动物;类
(8)老王买的最新款iPhone 14 Pro;
(9)在对面马路上快速奔跑的Tank 300。

==总结:==

(1)类是()的概念,表示对某些事物的描述;==A、抽象==;B、具体;

(2)对象是具体的概念,表示实实在在存在的个体。

==目标:==掌握定义类的语法。

类是抽象的概念,指的是:对某些事物的描述。简单地说,类就是一个模板。

定义Python类语法:

class 类名:
    def 方法名(self):
        代码1
        代码2
        ...
    # 其他方法...

比如,我们都知道,小轿车是根据汽车图纸制造出来的,汽车图纸就是一个模板(类)。

在汽车图纸模板中,指定:制造出来的汽车必须能跑起来。

例如,一起来完成:

(1)定义一个汽车类;

(2)让汽车类能跑起来;

(3)执行程序,观察效果。

class Car:
    def run(self):
        print("汽车能跑起来...")
# 当仅定义了后,执行程序没有效果

==总结:==

(1)可以使用()关键字来定义Python类;==A、class==;B、def;

(2)注意:类是抽象的,仅定义了类并执行,没有执行效果。

对象

==目标:==掌握创建对象的语法。

对象是具体的概念,指的是:实实在在存在的个体。简单的说,对象就是通过类创建出来的实体。

创建对象语法:

对象名 = 类名()

调用方法语法:

对象名.方法名()

说明:

不用给self参数传递参数值。

比如,通过汽车图纸(模板)制造出能跑起来的小轿车(对象)。

例如,一起来完成:

(1)用对象模拟制造出一台小轿车;

(2)小轿车能跑起来;

(3)执行程序,观察效果。

class Car:
    def run(self):
        print("汽车能跑起来...")
​
# 1.创建对象
# 对象名 = 类名()
car = Car()
# 2.调用方法
# 对象名.方法名()
car.run()   # 不需要给self传递值

==总结:==

(1)创建对象的语法为:();==A、对象名 = 类名()==;B、对象名 = new 类名();

(2)当创建了对象和调用方法后,执行程序则有结果。

self关键字

==目标:==掌握self关键字的使用。

self是一个Python关键字,在面向对象中,self指向了对象本身。比如,创建了一个学生对象。

# 定义类
class Student:
    pass
​
# 创建对象
student = Student()

说明:self表示当前的,当前的对象。

例如,一起来完成:

(1)定义一个学生类,且学生在努力学习;

(2)创建一个对象,同时输出对象名、self,了解self的含义;

(3)再到学生类中,定义一个学生睡觉的行为,并分别通过对象名、self调用方法;

(4)执行程序,观察self的效果。

# 1.定义学生类  输出self
class Student:
    def study(self):  # 当前的,当前的对象
        print("=======================")
        print("正在努力学习!")
        print("===============",self)  # =============== <__main__.Student object at 0x0000028A576D2DF0>
        print("=======================")
​
    # 睡觉
    def sleep(self):
        # 类内部调用   self = 当前的对象
        # 对象名.方法名()
        # self.方法名()
        self.study()
​
# 2.输出对象名
stu = Student()
print(stu)  # <__main__.Student object at 0x0000021CACD02DF0>
# 调用
stu.study()  # self = 当前的对象
​
# 扩展
# 在类外面: 对象名.方法名()
# 类内部?

==总结:==

(1)self可以理解为:当前的、当前的对象;

(2)注意:在类内部使用【self.属性名】调用属性,使用()调用方法。==A、self.方法名()==;B、类名.方法名();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1846133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学会python——获取文件信息(python实例八)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、获取文件信息 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的…

JavaWeb——Mysql的启动/登录/卸载

目录 1.Mysql服务器 2.Mysql的简单使用 2.1 启动Mysql&#xff1a; 2.2 登录Mysql 2.3 退出 3. 连接别人的数据库 4.卸载mqsql 1.Mysql服务器 安装了Mysql的计算机都成为Mysql服务器 2.Mysql的简单使用 2.1 启动Mysql&#xff1a; 第一种方法&#xff1a;搜索服务&am…

【QCustomPlot实战系列】QCPGraph堆叠面积图

在【QCustomPlot实战系列】QCPGraph堆叠图的基础上&#xff0c;使用setChannelFillGraph函数即可 static QCPScatterStyle GetScatterStyle(const QColor& color) {QPen pen(color, 2);return QCPScatterStyle(QCPScatterStyle::ssCircle,pen,Qt::white, 5); }static QCP…

【无线感知】【P4】无线感知手势识别- WIFI 感知边界

前言&#xff1a; 这篇是北大2022 在Ubicomp 上面的论文 《placement Matters&#xff1a; understanding the Effects of Device placements for WiFi Sensing》 放置很重要&#xff1a;了解设备放置对WiFi传感的影响 目录&#xff1a; 简介 感知质量定义&#xff08;SSNR…

uniapp小程序button按钮去掉黑色线条

文章目录 导文去除方法 导文 在uniapp的button按钮中有一个莫名其妙的黑色线条 去除方法 button::after{border: none; }该问题并不是所有的手机机型都有&#xff0c;最好添加一下&#xff0c;以防用户手机端样式有问题。 您好&#xff0c;我是肥晨。 欢迎关注我获取前端学习…

LPD6803是专为LED(LED)灯光系统设计的驱动芯片

一般简介: LPD6803是专为LED(LED)灯光系统设计的驱动芯片&#xff0c;它采用先进的高压CMOS芯片工艺&#xff0c;提供三路恒流驱动和灰度调制输出&#xff0c;特别适合离散的多灰度全彩色灯光系统。 LPD6803芯片包括串行移位寄存器和级联驱动电路,灰度数据在时钟…

9.0分下跌至2.5分!110本SSCI影响因子下降!经济学领域SSCI最新IF汇总!

【欧亚科睿学术】 2023影响因子&#xff1a;经济学 1 影响因子概况 在170本经济学领域SSCI期刊中&#xff0c;有60本SSCI期刊2023年影响因子上涨。其中&#xff0c;期刊ECONOMIC POLICY由原来的2.5增长到了4.5&#xff0c;涨幅为2.0&#xff0c;也是经济学领域涨幅最大的SSCI…

【日记】梦到兄长要给鳄鱼换牙齿……(421 字)

正文 今天中午睡了一个小时多一点&#xff0c;做了一个很奇怪的梦。梦见兄长要给一条鳄鱼换牙齿&#xff0c;还说早上不好操作&#xff0c;要三天之后的中午或晚上&#xff0c;颇有一种翻黄历寻个良辰吉日之感。但我没那样大的耐性&#xff0c;便捏住鳄鱼的嘴&#xff0c;左摔右…

如何编写基本的Java程序

安装Java Development Kit&#xff08;JDK&#xff09;是开发Java应用程序的第一步。 1.下载JDK Java程序必须运行在JVM上&#xff0c;我们第一件事情就是安装JDK。 1.下载地址&#xff1a;Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#jdk…

利用Java easyExcel库实现高效Excel数据处理

在Java应用程序中&#xff0c;处理Excel文件是一项常见任务&#xff0c;尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库&#xff0c;它提供了简洁的API和优化的性能&#xff0c;以简化Excel文件的处理。本文将指导您如何使用easyExcel库…

docker curl:(56) Recv failure: Connection reset by peer

docker容器启动后&#xff0c;查看日志未发现错误&#xff0c;通过查询和分析&#xff0c;发现是期望容器打开的端口与容器实际打开的端口不一致导致。 1&#xff09;docker run -itd -p 8082:8082 vulfocus/log4j2-rce-2021-12-09:latest 2&#xff09;curl localhost:8082 …

“湖仓一体架构及其应用”写作框架,系统架构设计师

论文真题 随着5G、大数据、人工智能、物联网等技术的不断成熟&#xff0c;各行各业的业务场景日益复杂&#xff0c;企业数据呈现出大规模、多样性的特点&#xff0c;特别是非结构化数据呈现出爆发式增长趋势。在这一背景下&#xff0c;企业数据管理不再局限于传统的结构化OLTP…

性能不降反增?缩减率2.64的伪图索引为何有助于RAG

论文题目&#xff1a; Empowering Large Language Models to Set up a Knowledge Retrieval Indexer via Self-Learning 作者单位&#xff1a; 中国人民大学&#xff08;RUC&#xff09;&#xff0c;上海算法创新研究院&#xff08;IAAR&#xff09; 论文地址&#xff1a; h…

微信公众号多域名回调系统V1.5 源码

这是一款基于ThinkPHP6.0开发的微信公众号多域名回调系统。本系统有如下功能&#xff1a; 微信公众号多域名回调功能&#xff1a;微信公众号后台默认只能授权2个网页域名&#xff0c;用本系统突破这个限制&#xff0c;用同一个公众号对接无限多个网站。网站后台支持回调域名白…

【网络安全学习】漏洞扫描:-03- Nikito与Wapiti漏洞扫描的使用

1️⃣ Nikto漏洞扫描 Nikto是一个开源的Web扫描评估程序&#xff0c;它可以对目标Web服务器进行快速而全面的检查&#xff0c;以发现各种潜在的安全问题和漏洞。 &#x1f170;️ 如何使用 ❓ nikto -Display 1234ep -h [域名或IP地址] -o nikto.html # -h参数&#xff1a;指…

用Nuitka打包 Python,效果竟如此惊人!

目录 为什么选择Nuitka&#xff1f; Nuitka的工作原理 Nuitka的工作流程大致如下&#xff1a; 安装Nuitka 实战案例 示例代码 打包程序 运行可执行文件 进阶技巧 优化选项 多文件项目 打包第三方库 使用Python开发一个程序后&#xff0c;将Python脚本打包成独立可执…

【踩坑】修复多GPU通信时all_reduce/broadcast时间不一致的问题

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 背景介绍 原因解释 问题修复 背景介绍 按照网上的说法&#xff0c;计时使用了torch.cuda.Event(enable_timingTrue)和torch.cuda.synchronize(…

windows下 Ubuntu安装docker保姆级教学!非常详细!

保姆级别windows下Ubuntu安装docker教程 卸载原有 Docker执行卸载旧版 docker 命令安装 Docker更新源安装相应的依赖包安装 Docker 镜像使用国内镜像安装安装完成后,对key进行验证安装稳定版的repository再次更新源安装 docker-ce测试是否安装成功更换 docker 源重启 Docker检…

GIT之git clone 时出现如下报错 ERROR

一:Github clone 时出现如下报错 ERROR: You‘re using an RSA key with SHA-1, which is no longer allowed 1.现象 git pull时(或git push, git clone等),出现如下问题。 2. 原因分析 原因是在2022年3月15日之后,github不再支持SHA-1的加密方式了。 3. 解决方案 将…

qmt量化交易策略小白学习笔记第45期【qmt编程之期货行情数据--如何获取日线行情、tick行情】

qmt编程之获取期货行情数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取日线行情数…