Python学习记录 面向对象编程

python基础教程(七)面向对象程序设计思想 一、面向对象 1.面向对象的编程思想主要是针对大型软件设计而来的。 2.面向对象编程使得程序的扩展性更强。可读性更好 3.面向对象编程将数据和操作数据相关的方法封装到对象中,组织代码和数据方式更加接近人的思维,从而大大提高了编程的效率。 二、类 属性 方法 (一)类的定义 1.类是模板,系统根据类定义造出的对象。 2.类的内容:属性 方法 3.语法 class类名: 类体 (1)类名命名规则一般规定首字母大写,驼峰原则 (2)类体中定义属性方法 (3)属性 阅读详情

2022.08.11 DAY27

第六章 面向对象编程

  • Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。
  • Python中,一切皆对象。
面向对象和面向过程区别
  • 面向过程编程 --> 关注程序的逻辑流程 --> 小规模程序
  • 面向对象编程 --> 设计者 --> 大规模程序
对象的进化
  • 问题越来越复杂…
  • 编程语言本身也在进化…
  • 数据类型越来越复杂…
  • 简单数据 -> 数组 -> 结构体 -> 对象
类的定义
  • 通过类定义数据类型的属性(数据)和方法(行为)

  • 类也称为类对象,类的实例也被称为实例对象。

  • 定义类的语法格式如下:

      class 类名:
          类体
    
  • 要点:

    • 类名必须符合标识符的规则。首字母大写,多个单词使用驼峰原则。
    • 类名中可以定义属性和方法。
    • 属性用来描述数据,方法用来描述这些数据相关的操作。

实例:

class Student:  # 类名首字母大写,多个单词驼峰原则

    def __init__(self, name, score):  # self必须位于第一个参数
        """ 构造函数 """
        self.name = name
        self.score = score

    def get_score(self):  # self必须位于第一个参数
        """ 获取分数信息 """
        print("{0}的分数为{1}".format(self.name, self.score))
        return self.score


def test():
    student1 = Student("YJP", 99)  # 调用构造函数
    student1.get_score()


if __name__ == '__main__':
    test()

结果:

YJP的分数为99
构造函数__init__()
  • _init_(self)方法:初始化创建好的对象。初始化指的是:“给实例对象赋值”。
  • _new_()方法:用于创建对象,但我们一般无需从定义该方法,
  • self可以自定义,但必须是init的第一个参数。
实例属性
  • 实例属性是从属实例对象的属性,也称为实例变量。
  • 要点:
    • 实例属性一般在__init__()方法中通过如下代码定义:
      • self.实例属性名 = 初始值
    • 在本类的其他实例方法中,也是通过self进行访问:
      • self.实例属性名
    • 创建实例对象后,通过实例对象访问:
      • obj01 = 类名() # 创建对象,调用__init__()初始化属性
      • obj02.实例属性名 = 值 # 可以给已有属性赋值,也可以新加属性
实例方法
  • 实例方法是从属于实例对象的方法。

  • 实例方法的定义格式:

      def 方法名(self [形参列表])
          函数体
    
  • 方法的调用格式如下:

    • 对象.方法名([实参列表])
  • 要点:

    • 定义实例方法时,第一个参数必须是self。和面的一样,self指当前的实例对象。
    • 调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
  • 其他操作

    • dir(obj)可以获得对象的所有属性、方法。
    • obj._dict_ 对象的属性字典。
    • pass 空语句
    • isinstance(对象,类型) 判断“对象”是不是“指定类型”
STM32 HAL 模拟I2C从机实战:软件实现与多设备通信优化 本文详细介绍了STM32 HAL库下软件模拟I2C从机的实现方法,包括GPIO开漏配置、基础信号实现、数据收发函数编写和多设备通信优化策略。通过灵活的软件模拟方案,解决了硬件I2C接口数量限制和稳定性问题,为多传感器数据采集等应用提供了可靠的通信保障。 阅读详情

相关推荐

水文预报新手别怕!用Matlab 18小时搞定马斯京根法参数K和x(附完整代码)

本文详细介绍了如何使用Matlab在18小时内快速掌握水文预报中的马斯京根法参数K和x的求解方法。通过完整的代码示例和分步解析,帮助新手从理论到实践快速跨越,解决传统手工试算耗时耗力的问题,提升水文预报的效率和精度。

weixin_42573113的博客 256

Python学习记录(十四):面向对象编程

​ 面向过程程序设计:核心是过程,先干什么再干什么。如同一条流水线,是一种机械式的思维方式。​ 面向对象程序设计:一切皆为对象,类似于上帝创造世界。对象是特征与动作的结合体,解决了程序的扩展性。

qq_45780762的博客 1980

Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在FC 的运算中,是因为针对每张输入图片,只进行一次卷积操作,而要对生成的Region Proposal,大致两千个,进行全连接操作进行分类与Bounding...

weixin_35747666的博客 1535

Python学习记录——10.面向对象编程

文章目录1.面向对象前导2.类的创建3.类的继承4. 类属性与方法 1.面向对象前导 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。 接下来先来简单的了解下面向对象的一些基本特征。 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 **类变量:**类变量在整个实例...

赈川 235

VS Code + Codex 在 WSL 中使用的正确姿势

Codex 登录只能在本地完成。文件仍可通过 UNC 路径访问 WSL → 本地 Codex 就能照常工作。避免在 WSL 内重复安装/登录 Codex 扩展。

yangguangwuyue的博客 9837

【编号326】全国地灾数据全国25万多个地质灾害点空间分布数据

全国地质灾害点分布数据涵盖25万多个各类灾害点信息,为灾害防治提供重要依据。通过分析灾害分布规律,可识别高风险区,指导监测预警、应急避险和基础设施建设。多地成功案例(如湖北兴山崩塌避险、重庆长寿滑坡预警、湖南"挪床行动")证明,提前预警和科学防治能有效避免人员伤亡。云南省2024年通过预警体系成功避让31起灾害,保护1342人生命安全。这些实践表明,地质灾害防治需结合科技手段与群防体系,实现早预警、早处置。

千奇百怪无奇不有 1472

Python的面向对象编程总结【学习记录篇3】

当多继承中有同名的属性或者方法时,最先继承最开始的那个,也就是从左往右第一次出现的属性或者方法。成员方法:成员方法是类中定义的函数,类比于现实生活中事物的行为,比唱跳,还有rap。其实刚刚的例子都算是封装,封装就是把成员变量,成员方法组合在一个类当中,这就是封装。接下来,我们逐一介绍继承中的:继承(单继承),多继承,复写父类,父类方法,属性的调用。成员变量:是类中定义的变量,类比于生活事物的属性,比如工,猫这些动物的外貌。:类,类对象,成员方法,成员属性,魔术方法,封装,继承,多态。父类属性,方法的调用。

weilx1234的博客 222

保姆级教程:用再生龙Clonezilla Live给Ubuntu系统做全盘备份与恢复(含BIOS设置避坑)

本文提供了一份详细的Clonezilla Live教程,指导Ubuntu用户如何轻松完成全盘备份与恢复。从启动盘制作、BIOS设置避坑到备份参数解析和恢复操作,涵盖了所有关键步骤和常见问题解决方案,帮助用户高效保护系统数据。

weixin_42116058的博客 642

Python学习记录6(面向对象编程)

参考:https://www.liaoxuefeng.com/wiki/1016959663602400 18.面向对象编程 (1)类和实例 在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们...

qionggaobi9328的博客 304

从零到一:基于STM32F103C8T6与HAL库的磁悬浮电赛装置实战解析

本文详细解析了基于STM32F103C8T6微控制器与HAL库,从零构建磁悬浮装置的完整实战方案。文章深入剖析了硬件设计中的线圈布局与“反向串联”巧思,以节省PWM资源;并阐述了采用三闭环PID控制算法的软件实现,结合Keil开发环境与HAL库进行工程搭建与调试。该方案为电子设计竞赛(电赛)提供了高可行性的参考,是嵌入式软硬件综合实践的优秀范例。

weixin_29169505的博客 274

Altium Designer(AD)PCB拼版——两种方法教程

本文详细介绍了PCB拼版的设计要点与操作方法。主要内容包括:拼版目的(解决小尺寸夹持问题、提高利用率、降低成本)和三大连接方式(V-CUT、邮票孔、空心连接条)的特点与参数设置;工艺边设计规范(宽度、定位孔、Mark点等要求);拼版尺寸限制与常见错误检查;以及两种具体拼版操作方法(特殊粘贴和拼版阵列),并附有工艺边、定位孔、Mark点的绘制步骤示意图。同时提供了硬件工程师笔试面试相关资源链接。全文系统阐述了PCB拼版的核心技术和操作流程,为电子设计人员提供了实用指导。

XU157303764的博客 7601

Python学习笔记——优快云学习记录五:面向对象编程概述

自主学习

HaJucy的博客 192

【OpenCV】图像的像素直方图 图像特征点 cv::FAST cv::ORB ORB_SLAM2::ORB

文章目录图像直方图代码实现cv::FAST和cv::ORB 检测图像特征点cv::FAST和cv::ORB 检测图像特征点代码实现ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比代码实现 图像直方图代码实现 图像是由不同数值(颜色)的像素构成的,像素值在图像中的分布情况是图像的重要属性,可以用直方图修改图像的外观,标识图像的内容,检测图像中特定的物体或纹理。 单通道灰度图像中每个像素都有一个 0(黑色)-255(白色)的整

小秋 AI SLAM 入门实战教程 2510

零基础学习Python之面向对象编程:属性访问控制与封装实现_我的学习Python记录13

在Python中,面向对象编程(OOP)是其核心特性之一。通过类(class)和对象(object),我们可以将数据和行为有效地组织在一起。然而,在实际开发中,我们常常需要对对象的内部状态进行保护,防止外部代码随意修改对象的属性值。本文将介绍如何在Python中实现属性的访问控制,并通过封装来提升代码的安全性和健壮性。

🚀免费专栏:✅穿越之灵脉重构师:重启天元代码系列✅Python筑基系列✅创新语言开发系列✅代码故事茶馆✅AI筑梦工作站 820

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python核心编程学习记录之面向对象编程

未完待续525 转载于:https://www.cnblogs.com/lgh344902118/p/6195589.ht...

anyangyu0343的博客 92

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

[博学谷学习记录]超强总结,用心分享|人工智能重启之路--Python面向对象编程--第五周学习记录

Python面向对象编程思想

weixin_40063006的博客 239

第037讲: 类和对象:面向对象编程 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛) 《零基础入门学习Python》 测试题:

一只没有脚的猪的博客 1320

Python小白学习记录11

Python语言中的多态,根本不关心对象的数据类型,也不关心类之间是否存在继承关系,只关心对象的行为(方法)。只要不同类中有同名的方法,即可实现多态。子类在重写父类的方法时,要求方法的名称必须与父类方法的名称相同,在子类重写后的方法中可以通过super().xxx()调用父类中的方法。是在函数调用时,直接对形式参数进行赋值,在调用时如果该参数不传值,将使用默认值,如果该参数传值,将使用传递的值。多态指的就是多种形态,即便不知道一个变量所引用的对象到底是什么类型,仍然可以通过这个变量调用对象的方法。

2301_78083896的博客 351

Python3 OOP面向对象编程最基本的类

小米路由器出了问题告别了一天网络,也不知道是出了什么问题。真有些怀疑被黑了,用了一年的密码居然怎么也不好用了。把路由器恢复了出厂设置又把密码彻底更新了一遍。由于网络折腾,都两天没有好好学习了。       最近开始深入学习Python OOP,当然,目前还是一个起步的阶段。我觉得面向对象编程的技术我肯定要学,最好的选择或许是Python、Java、C#中的一个。前面了解了一下MATLAB面向对象

小灰笔记 1019

2025-05-29 学习记录--Python-面向对象

Python-面向对象

weixin_48850734的博客 585

No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅

在Python这个神奇的代码世界里,我们使用class这个魔法关键字来定义类。类里面的方法和普通的函数定义有点像,但又有个小特别的地方。方法的第一个参数通常是self,它就像是每个“小角色”(对象)的“自我标识”。通过这个“自我标识”,“小角色”可以访问和修改自己的“小标签”(属性)。i = 1j = 2print(1)这里的NewClass就是我们创建的一个类,它有两个“小标签”i和j,还有两个“小技能”Newfunc1和Newfunc2。在Newfunc2这个“小技能”里,self。

聚焦网络安全,以多元语言优势汲取知识,分享生动有趣的学习与技术心得。 1302

Python学习之路(Win7)之简明python教程

遇到Python是因为opencv3.1的dnn的训练部分要用到caffe,而caffe配置中有一个就是需要Python,因为google下的caffe读的数据是leveldb或lmdb,所以如果是一个特征矩阵的话,就要先用python转化为这两种格式。。。另一个是看到《机器学习实战》里是用python语言。。。而且很多大神好像都会python。所以。。。想了想,要不就利用空余时间学习一下pyth

wd1603926823的专栏 7058

python支持多种编程范式吗_Python学习记录day7

title: Python学习记录day7tags: pythonauthor: Chinge Yangdate: 2017-02-18Python学习记录day7@(学习)[python]1. 面向过程 VS 面向对象编程范式编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现...

weixin_39526872的博客 167

Python进阶

Python的旅程是一场不断探索与学习的过程。从基础语法到网络编程,再到数据科学与人工智能,每一站都是新知的积累和能力的提升。

hummhumm的专栏 998

Python 学习

这里主要是为了记录我学习Python的过程,更多是使我规范书写Pyhton语言!

那些年踩过的“坑” 1336

学习python第五天

今天学习了函数的相关内容,以及面向过程的解题思想,以下是相关笔记。

WuMingf_的博客 597
上一篇: Python学习记录 函数基础
下一篇: Python学习记录 类相关
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值