Python面向对象编程学习第一讲:定义类和使用类,类和对象的属性

1. 定义类和使用类

(1) 类与实例的关系如同模具和通过模具造出来的具体的实物。

(2) 类:属性与方法;

(3) 类实例化步骤:

  1. 调用__new__()方法创建实例,__new__()方法自动从object继承;
  2. 调用__init__()方法对其初始化,__init__()方法在类中定义;

(4) 类的说明:以三引号包围的字符串;查看类说明:方式一:help(类名);方式二:类名.__doc__;

(5) 新式类和经典类:

      Python 2.x版本:默认是经典类,继承object为新式类;

      Python 3.x 版本:统一为新式类,不用继承object;

(6) 新式类和经典类的区别:经典类继承为深度优先;新式类继承为广度优先;

2. 描述对象的特征:属性

(1) dir (类) :可以显示类的所有属性和方法。;

(2) 实例属性:类被实例化之后才具有的属性,一般在__init__()方法中创建并初始化;直接使用即定义:self.<属性名> ;self 用来代表类的实例的。在类外用(实例名.属性名)方式定义和引用属性、方法;一般不建议在__init__()方法之外中创建和初始化实例属性!一般不建议在类外定义和修改,修改可以单独定义方法! 相同类的不同实例其实例属性是不相关的。

(3) 类属性:类定义后就存在,而且不需要实例化;类属性使得相同类的不同实例共同持有相同变量;

(4) 私有属性:使用__开头的变量名加以标志,只有类对象自己能访问;

(5) 特殊属性:__doc__; __name__保存类名;__dict__保存实例属性的所有属性名和值;__module__保存类所在的模块名;__base__保存类的父类;

3. 练习题目

题目:定义一个类Box,其具有实例属性length,width, height,具有私有属性体积(由长宽高计算得来),并且它的每个实例可以知道它被实例化的数量,然后实例它们5次,并输出每个实例的所有属性。

回答:

# -*- coding: utf-8 -*-
"""
Created on Thu Apr  9 20:02:25 2020

@author: coolgirl
"""
class BoxCount():
    """使用超类作为专门计数的类,计数的属性为类属性"""
    count=0
class Box(BoxCount):
    """子类初始化时使超类的属性增加1即可"""
    def __init__(self,length,width,height):
        self.length=length
        self.width=width
        self.height=height
        self.__volume=length*width*height
        BoxCount.count+=1
    
a=Box(1,2,3)
print(BoxCount.count)
b=Box(2,2,2)
print(BoxCount.count)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值