Python学习笔记(13)- 类

来源:互联网 发布:淘宝云客服在哪报名 编辑:程序博客网 时间:2024/05/30 22:45

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。

  • 创建类
class Dog():    def __init__(self,name,age):        """初始化对象属性"""        self.name = name        self.age = age    def sit(self):        print(self.name.title() + ' is now sitting.')

_init_()方法就是累的初始化方法,self是类中的每个方法都需要传递的形参,而name和age就是创建类的实例的时候必须要的形参,传递参数的时候我们只需要传递这两个参数,self会自动传递。

  • 使用类
my_dog = Dog('maomao',3)print('My dog`s name is ' + my_dog.name.title() + ' , it`s age is ' + str(my_dog.age))my_dog.sit()

创建实例的时候也可以根据需要创建多个实例,当然需要设置不同的名字。

  • 给类的属性设置设置默认值
    def __init__(self,name,age):        """初始化对象属性"""        self.name = name        self.age = age        #默认值        self.color = 'white'
  • 修改类的属性

①、直接修改

my_dog = Dog('maomao',3)self.color = 'black'

②、通过方法修改属性的值

在dog类中增加方法

    def update_color(self,color):        self.color = color

创建类实例并修改属性

my_dog = Dog('maomao',3)my_dog.update_color('black')
  • 继承
    编写类时,并非总是要从空白开始。如果你要编写的类是另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

①、子类的__init__方法:
创建子类的时候,python首先要完成的是对父类所有属性的属性赋值。

class BigDog():    def __init__(self,name,age):        super().__init__(self,name,age)        """初始化对象属性"""

②、重写父类的方法:

    def sit(self):        print(self.name.title() + ' is now sitting down.')
  • 导入类
    导入类的方法与之前导入方法的方式一致
#导入单个类from dog import Dog#导入多各类from dog import Dog , BigDog#导入一个模块汇总的所有类import dogfrom dog import * 
  • 列表内容

类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线。

对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的功能,并遵循编写函数的文档字符串时采用的格式约定。每个模块也都应包含一个文档字符串,对其中的类可用于做什么进行描述。

可使用空行来组织代码,但不要滥用。在类中,可使用一个空行来分隔方法;而在模块中,可使用两个空行来分隔类。

需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的import语句,再添加一个空行,然后编写导入你自己编写的模块的import语句。在包含多条import语句的程序中,这种做法让人更容易明白程序使用的各个模块都来自何方。