七、类和对象

 类:具有同种属性的对象称为类,是个抽象的概念。比如说:汽车、人、狗、神;

对象:日常生活中的所有东西都是对象,是类的实例化。比如说:推土车是汽车的实例化;姚明是人的实例化;小白(狗的名字)是狗的实例化;二郎神是神的实例化;


属性:用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.6米多;小白的毛发是棕色的;二郎神额头上有只眼睛;


方法:每个对象有它们自己的行为或者是使用它们的方法,比如说一只狗会跑会叫等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象;


类的成员:属性和方法称为这个对象的成员,因为它们是构成一个对象的主要部分,没有了这两样东西,那么对象也没什么存在意义了。

原文链接:https://blog.csdn.net/sunruirui1028/article/details/79214701

实例讲解

类是抽象的模版,而实例时根据类创建出来的一个个具体的”对象“,每一个对象都从类中继承有相同的方法,但各自的数据可能有不同(多态)。

 1.以Student类为实例,定义类如下

class Student(object):
    pass
# object 表示该类从哪个类继承下来的,object类是所有类都会继承的类

2.定义好了类,就可以通过Student类创建出student实例,创建实例是通过 类名 + () 实现 

student = Student()

3.由于类起到模板的作用,因此,可以在创建实例的时候,,把我们认为必须绑定的属性强制写进去。这里就用到Python中的一个内置方法:__init__方法(双横线)

class Student(object):
    # 在Student类中,把name, score 等属性绑上去
    def __init__(self, name, score):
        # self指的是类本身,self.name就是Student类的属性变量,name是外部传来的参数
        self.name = name
        # 故这里表示把外部传来的参数name的值赋值给Student类自己的属性变量self.name
        self.score = score

4.注意

  • __init__方法的第一参数永远是self,表示创建的类实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
  • 有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器会把自己的实例变量传进去
# 在创建实例的时候传入了两个属性
>>> student = Student("Hugh",99)
>>> student.name
'Hugh'
>>> student.score
99

5.函数与方法的不同之处:和普通函数相比,在类中定义函数只有一点不同,就是第一参数永远都是类本身实例变量self,并且调用时,不用传递该参数。除此之外,类的方法(函数)和普通函数并无区别,既可以使用默认参数,也可以使用可变参数或者关键词参数。

6.既然Student类实例本身就拥有这些数据,那么要访问这些数据就没有必要从外面的函数去访问,而可以直接在Student类的内部定义访问数据的函数(方法),这样,就可以把数据封装起来。这些封装数据的函数是和Student类本身所关联的,被称为类的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

洛江清

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值