PYTHON|还愁不懂什么是class类,什么是方法__init__,什么是面向对象?一个文章告诉你!

前言

大家好,我是BoBo仔吖。随着我们学习的层次越来越高,我们所学的内容也越来越复杂。这节课,我们来学习python中的一大重难点:类(面向对象)


Class创建类(对象)

这个class呢在大家的认知中多少要和学校扯上点关系,但是,在python中,他的意思非同一般
这个class呢在python中有一个很闪亮的名字:创建类关键字

在学习这个内容之前,我们要先学习对象的概念

1.编程中的对象概念

(1)面向过程

早在Python以前,C语言是独霸编程界的一个“牢大”。虽然它对于现在的众多编程语言来说比较复杂,但是C语言也有自己的特色——它是一种面向过程的编程。
这个面向过程的解释,简单来说就是先研究所做项目的流程。比方说,我们算1+1等于多少的时候,我们有一个过程:
(1)看符号(2)思考运算规则(3)将数字进行相对应的运算(4)得到结果

这样来看,大家明白了吗?

(2)面向对象

当然,面向对象这种编程方式在当时的普遍大众来说是非常复杂的,所以,在后来的编程语言开发中,引出了大量面向对象的编程语言,最经典的例子就是C++了,虽然它对于现在的大部分语言来说还是非常繁琐,但是在当时来看,是要比采用“面向过程”的C语言要简单许多的

那么,什么是面向对象呢?
还是拿1+1等于多少来举例。
我们可以把算式中的1 ,+,1看做三个对象,而这三个对象之前都有联系,都有自己在这个算式中的作用
比如,加号就是运算符号,1就是加数,这就是对象的定义
每个对象都有自己需要做的任务
比如,加号负责进行加法运算,而1就是运算的目标
当我们用面向对象来解释1+1,就是“将两个加数1进行加法符号运算”。
这样来看,是不是比上面的“面向过程”方法更简单一些呢?

(3)对象的概念

什么四对象呢?有一句话就非常现实:万物皆是对象
是的,根据我们上面的例子,连一个小小的1和一个小小小的+都能作为对象,那岂不是万物皆可对象了?但是,我们Python中的对象准确来说是一种抽象的概念,是一种虚造的对象。而我们今天的学习与编程目标就是研究与探索这些虚拟的对象内容

是不是迫不及待了人?让我们开始吧!

2.初识class类(示例)

这个类的概念呢有点过于抽象了,我也不太好解释,所以我们直接上示例

class Person:
    def __init__(self,name,age,height,weight):#‘赋值1’
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight
    
    def print_person(self):
        print('姓名',self.name)
        print('年龄',self.age)
        print('身高',self.height)
        print('体重',self.weight)

person = Person('Bob',14,151,45)#这里我们运用的就是类,这个括号里的四个元素就是刚那个上面的‘赋值1’
person.print_person()

不好意思哈,这里我暴露了个人信息 \ (^ o ^)/ ~
这么多代码,综合了这么多东西,大家可能上来一团乱麻。别急,我给大家一行一行捋

3.分析class类示例

我们把这几行代码拆开来看,会发现许多有深度的东西
首先,第一行就有讲究:

class Person:

这里我们赋予了一个Person类。这里命名类的时候要注意:首字母尽量大写
然后,就是下面的一大坨复杂乱七八糟的东西

    def __init__(self,name,age,height,weight):#‘赋值1’
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight

这里是方法__init__的应用,init方法后面有一个括号,括号的第一个元素就是大刺头。
self呢,大家可以把它理解为一个参数,一般不影响输出
但是,self千万不能少,因为下面的self.对象结构中self会常常出现
所以,大家知道什么叫面向对象了吧,后面的name,age,height,weight就是对象。
方法init处理完这些对对象之后,接下来就是构造对象。这里我们是使用self.对象=对象结构构造了4个对象,并在下面得以使用

接下来的一大行

def print_person(self):
        print('姓名',self.name)
        print('年龄',self.age)
        print('身高',self.height)
        print('体重',self.weight)

这里就是简单的函数封装过程,只不过这次的封装和上面的对象构造车扯上了关系:括号里的参数变成了self,这不就是上面的老兄弟吗?
所以,这里我们的新结构又出现了:参数.对象结构。
函数封装固有自己的意义,这里,神操作又上来了:

		print('姓名',self.name)
        print('年龄',self.age)
        print('身高',self.height)
        print('体重',self.weight)

这里的大致结构可以整理为:print(str,self.对象名)

这里的操作要和上面的下面的几行类调用代码一起看,因为单独看他是没有意义的

person = Person('Bob',14,151,45)#这里我们运用的就是类,这个括号里的四个元素就是刚那个上面的‘赋值1’
person.print_person()

这里,我们运用到了多个结构
首先就是变量赋值,但是这里的变量使用的赋值方式是使用Person这个类里的内容。大家仔细观察会发现:这个类调用的结构和命名类时的部分结构极为相似

    def __init__(self,name,age,height,weight):
    person = Person('Bob',14,151,45)

上面的是使用init方法时的函数参数,其中self是下面用的,而其他四个就是我们的对象了(其实self也可以是对象,但是这里我们还是把他当工具参数使用)。而在我们构造完成这四个对象之后,下面我们又开始调用类。
这里我们的调用类不光光只是使用了第一个构造对象里的内容,还在下面使用了Person类中的一个函数:print_person()
这个函数呢没有参数,因为已经和上面的类调用一起呼应着用了
所以,这里我们这里只要在创建完类之后再用两个函数调用,就可以使用该类的目的,这就是面向对象编程

4.示例总结

呼,终于琢磨完成了,接下来就是总结时间
还是把源代码扔上来

class Person:
    def __init__(self,name,age,height,weight):#‘赋值1’
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight
    
    def print_person(self):
        print('姓名',self.name)
        print('年龄',self.age)
        print('身高',self.height)
        print('体重',self.weight)

person = Person('Bob',14,151,45)#这里我们运用的就是类,这个括号里的四个元素就是刚那个上面的‘赋值1’
person.print_person()

这里我们先创建了一个类Person,接下来就是让这个类里添加一些功能集体,然后使用其中的函数调用,最重要的当然是其中的init方法以及self参数应用,还有面向对象编程的特征:参数(变量).对象。也加上了一些之前学过的函数封装的内容,所以所学的内容还是非常复杂的


总结

好了,这节课先到这吧,我要去打码了
不过,class的学习不会如此结束
下一讲,我们会学习更加深层的class类内容,敬请期待吧
最后,制作不易,别忘了一圈三连,点个关注哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值