翼度科技»论坛 编程开发 python 查看内容

类和类的定义

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
6.2 类和类的定义

面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如学生类,而实例是根据类创建出来的一个个具体的对象,每个对象都拥有相同的方法,但各自的数据可能不同。
6.2.1 什么是类

当你在马路上看到一辆飞驰的奥迪汽车时,这辆奥迪车就是汽车类的一个实例。汽车就是一个类,每辆车都是汽车类的一个实例。
可以将类理解为工厂制造汽车的设计图,通过这个设计图可以持续的造(实例化)不同的汽车。
类一般都具有属性和方法,在汽车类中,属性可以是汽车的车身颜色,方法可以是前进、刹车等。
人也是一种类,称为人“类”。张三、李四、王五都是人“类”的实例化。类由属性和方法组成。属性是属于类的变量,比如在人“类”中,属性可以包括姓名、性别、年龄等。而方法是存储在类中的函数(操作、动作)。比如:吃饭、睡觉、走路等。
6.2.2 创建类

上面讲了这么多,让我们来在Python中创建一个最简单的类吧。
最简单的类
  1. class MyClass1:
  2.     pass
复制代码
上面是在Python中语法允许的情况下创建的一个最简的类。在Python中创建类需要用到关键字class,然后是类名(注意:在Python中,一般使用驼峰命名法命名类名)。接着就是:和换行后的pass语句,表示这个类啥也不干。
这样我们就创建了一个名为MyClass1的类,上面的Python语句仅仅只是创建了这个类,就像之前用def创建一个函数一样,只是定义了。函数要想要使用则需要进行调用。而类想要定义则需要初始化:
>>> mc = MyClass1()
像上面的语句就是进行了类的初始化,mc就是MyClass类的一个实例化对象。
接下来我们将一步步介绍创建类时,添加属性和方法,一步步完善类。
6.2.3 实例化时传递参数

有时候在定义一个类时,我们可以直接定义类的属性,然后在实例化时进行修改,就像这样:
  1. class Person:
  2.     def __init__(self):
  3.         self.name = None
  4.         self.age = None
  5. lisa = Person()
  6. lisa.name = 'lisa'
  7. lisa.age = 20
复制代码
上面的代码中,我们在定义Person类时,同时也定义了2个属性:name和age。并且初始化为None。
后面则可以通过类.属性的方式访问或修改类的属性。
这种方法虽然可行,但是如果要创建多个实例化对象,每次都要再重新修改属性name和age非常不方便。于是,我们可以在定义类的时候直接传入参数,然后在类的初始化时同时为类的属性赋值。
  1. class Person:
  2.     def __init__(self, name, age):
  3.         self.name = name
  4.         self.age = age
  5. lisa = Person('lisa', 18)
  6. print(lisa.name, lisa.age)
复制代码
lisa 18

来源:https://www.cnblogs.com/sibide/p/17111921.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具