【python基础】类&对象

一、类

  1、对同一类事物抽象的描述,抽象的概念
  2、定义类的语法:
    class 关键字——命名规则:大驼峰StudentInfo; (小驼峰studentInfo)

    class 类名:
      pass
  3、属性: 理解为用于描述类名词 (名字, 年龄, 颜色, 身高,...)
  4、方法: 也叫做函数, 理解为类能够实现的行为功能(吃饭, 睡觉, 打豆豆,...)

二、对象: 真实存在的,类的具体的一个实例
  1、对象 : 也叫做实例
  2、创建对象的过程:叫做类的实例化


  3、对象.方法()
    获取对象的属性值:对象.属性
    给属性赋值:对象.属性 = 新值

  4、动态的给对象的属性赋值
    类中没有定义该属性,则在对象中给哪个对象的属性动态赋值,只有该对象能使用此属性

  5、self 自己,本身
    谁调用谁就是self,self指的是当前调用的对象

三、创建对象

  1、创建对象的过程:p1 = Person()
    (1)开辟内存,存储对象
    (2)自动调用了init方法

  2、实例变量
    初始化实例变量, 初始化对象的属性
    实例变量:对象的变量 ——> 对象属性

    实例变量归对象所有, 每个对象都有一份, 对象之间互不影响
    self.变量名 ——> 表示实例变量(实例属性)

  3、init
    一般情况下会在init方法中初始化实例变量(对象的属性)

 1 # 2. 公路和汽车类, 计算车在公路上行走完的时间
 2 # 分析: 时间 = 路程 / 速度
 3 # 路程: 公路的长度  --->  长度(名词)
 4 # 速度: 汽车的速度  --->  速度(名词)
 5 #           功能: 计算车在公路上行走完的时间
 6 class Road:
 7     def __init__(self, length, name):
 8         self.name = name
 9         self.length = length
10 
11     def get_time(self, car_obj):  # 形参:本质变量  car_obj 小汽车对象
12         t = self.length / car_obj.v
13         print("%s小汽车在%s公路上行驶完全程的时间是%.2f" % (car_obj.brand, self.name, t))
14 
15 
16 class Car:
17     def __init__(self, v, brand):  # 属性v, 代表速度
18         self.v = v
19         self.brand = brand  # 汽车品牌
20 
21     def get_time(self, road_obj):  # 形参: 公路对象
22         t = road_obj.length / self.v
23         print("%s小汽车在%s公路上行驶完全程的时间是%.2f" % (self.brand, road_obj.name, t))
24 
25 
26 road1 = Road(100, "康庄大道")
27 car1 = Car(300, "奥拓")
28 
29 road1.get_time(car1)  # 奥拓小汽车在康庄大道公路上行驶完全程的时间是0.33
30 car1.get_time(road1)  # 奥拓小汽车在康庄大道公路上行驶完全程的时间是0.33

猜你喜欢

转载自www.cnblogs.com/Tree0108/p/12111956.html
今日推荐