py8_全网最全 Python 中类和对象最通俗易懂的解释

##################################################

目录

活动简介

简单总结一下昨天的 Python 类和对象

类和对象通俗易懂的解释

什么是类

什么是对象

什么是成员属性

什么是成员方法

关于类中函数的 self 参数必须要知道的

如何在交互模式中编写并解释运行类和方法

创建一个学生类

分析类的成员构成

创建学生类并访问对象成员


##################################################

活动简介

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰;一个人摸索学习很难坚持,想组团高效学习;想写博客但无从下手,急需写作干货注入能量;热爱写作,愿意让自己成为更好的人…

欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程,或者按照自己的理解发布专栏学习作品!

##################################################

简单总结一下昨天的 Python 类和对象

——————————

类和对象通俗易懂的解释

        如果自学能力强的同学可能上一篇就能把该掌握的掌握了:

py7_初识 Python 中的 OOP 面向对象编程以及类的方法如何使用 self 传参_燃吹的博客-CSDN博客简介POP 与 OOP 编程思想面向过程/POP 与 面向对象/OOP 区别为什么会出现 OOP 面向对象编程面向对象三大特征封装继承多态类对象是什么最通俗易懂的解释就是 new 个对象!Python 中定义类和实例化创建一个对象Python 中类、属性和方法的命名规范Python 2 经典类Python 3 新型类以及内置属性和方法如何访问类的成员属性和成员方法通过类名或实例化对象访问成员属性通过类名或示例名调用成员方法并利用 self 进行传参...https://blog.csdn.net/m0_67268286/article/details/126220377        这一篇主要是讲的通俗点 做点总结!

%%%%%

什么是类

        通俗来说:

类 = 成员属性 + 成员方法

        类是一个抽象概念

        就是将拥有

相同特征 指的是相同的成员属性

        和

类似行为 指的是类似的成员方法

        的这些

特例对象 指的是符合这个类的成员要求的单个实例

        一句话总结:

类定义了对象的模板结构

%%%%%

什么是对象

        通俗的说:

对象 就是这个 类 中 万千对象 的一个

        我们通过

类 这个模板

        按照

成员属性和成员方法 是这个类定义好的结构

        实例化 出来一个

对象变量是类变量且对象方法是类方法 具有这个类的特征且符合这个类的行为的对象

        一句话总结:

对象就是类的一个实例

%%%%%

什么是成员属性

        简单的说:

成员属性就是变量那一大堆

        需要注意的是:

在类中的变量

在方法外的变量

这些变量对所有通过该类实例化的对象可见

        一句话总结:

成员属性就是声明在类中在类方法外的那些让所有该类对象共享的数据

%%%%%

什么是成员方法

        简单的说:

就是定义在类中的函数

        需要注意的是:

如果需要传参 必须带上 self 参数

        类的方法与普通的函数只有一个的区别:

必须有额外的第一个 self 参数

selft 对应于该实例 就是说 self 就是该对象本身

按照惯例该参数的标识符是 self 但不是硬性规定的也要是 self

不要搞特例 别人不会明白的 这叫约定成俗

在调用方法时不需要明确提供与参数 self 相对应的参数

self 参数会自动传入

        第一次进 Python 类中方法时踩过的坑:

    我之前在写类和方法的时候从来不加 self
    于是就出现了各种各样的 bug 例如没有这个成员变量哪怕你是真的声明了!!!
	
    首先明确的是 self 只有在类的方法中才会有
    独立的函数或方法是不必带有 self 的
    虽然在调用时不必传入相应的参数 但是 self 在定义类的方法时是必须有的

    self 名称不是必须的 在 Python 中 self 不是关键词
    你可以定义成 a 或 b 或其她名字都可以
    但是为了和其她编程语言统一减少理解难度 还是不要另类的好

        一句话总结:

定义在类中的函数

%%%%%

关于类中函数的 self 参数必须要知道的

        self 的名字并不是规定死的 但是最好还是按照约定还是用 self 比较好!

        self 指的是类实例对象本身 注意是对象而不是类本身!!

        self 在定义时需要定义 但是在调用时会自动传入!!!

##################################################

如何在交互模式中编写并解释运行类和方法

——————————

创建一个学生类

%%%%%

分析类的成员构成

        学生类变量:

姓名

年龄

        学生类方法:

输出姓名

更改姓名

%%%%%

创建学生类并访问对象成员

        创建学生类:

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\byme>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (
AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> class Student:
...     name = "学生"
...     age = 1314
...     def getName(self):
...             print ( "学生姓名 >>> [", self.name, "]" )
...     def setName(self, name):
...             self.name = name
...             print ( "收到参数 [", name, "], 更改学生姓名 [", self.name, "]" )
...
>>> stu = Student()
>>> stu.getName()
学生姓名 >>> [ 学生 ]
>>> stu.setName("喜羊羊")
收到参数 [ 喜羊羊 ], 更改学生姓名 [ 喜羊羊 ]
>>> stu.getName()
学生姓名 >>> [ 喜羊羊 ]
>>> 

        注释一下 code:

class Student:
    # 学生类

    name = "学生"    # 学生姓名 默认叫 "学生"
    age = 1314    # 学生年龄 默认 1314 岁

    def getName(self):
    # 获取姓名 参数 self 表示当前对象
        print ( "学生姓名 >>> [", self.name, "]" )    # self.name 表示访问当前对象的 name 变量

    def setName(self, name):
    # 设置姓名 参数 self 表示当前对象 name 表示传入的值这个是该方法内的局部变量!
        self.name = name    # 表示将接收的 name 赋值給当前对象的 name 变量
        print ( "收到参数 [", name, "], 更改学生姓名 [", self.name, "]" )    # 不解释了..

stu = Student()    # 实例化一个 Student 类的 stu 对象
stu.getName()    # 打印该学生对象的姓名
stu.setName("喜羊羊")    # 设置该学生对象的姓名
stu.getName()    # 再次打印该学生对象的姓名

        然后根据 Student 类创建了一个 stu 对象最后调用该对象的 getName 函数打印姓名变量:

>>> stu = Student()
>>> stu.getName()
学生姓名 >>> [ 学生 ]
>>> 

        再或者更改姓名:

>>> stu.setName("喜羊羊")
收到参数 [ 喜羊羊 ], 更改学生姓名 [ 喜羊羊 ]
>>> stu.getName()
学生姓名 >>> [ 喜羊羊 ]
>>> 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃吹

呜呜呜没钱钱吃饭了……

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值