手记

Python面向对象

类的特性

  • 封装

  • 继承

  • 多态

    定义类的属性

  • 直接在类里面定义

  • 在构造函数里面定义

    用Python定义类

#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'wangke'__time__ = '2018-01-26 15:47'class Programer(object):    hobby = 'Play Computer!'    def __init__(self, name, age, weight):        self.name = name        self._age = age        self.__weight = weight    def get_weight(self):        return self.__weightif __name__ == '__main__':    Programer = Programer('xiaoke','25',88) #实例化对象    print(dir(Programer))    print(Programer.__dict__) #打印从构造函数获得的属性    print(Programer.get_weight())    # print(Programer.__weight) 直接获取会出错,使用了__定义的属性相当于私有属性,但是非要访问可以通过下面的方式访问到    print(Programer._Programer__weight)

执行结果如下

定义类的方法

函数和方法

  • 函数是直接用函数名调用的

  • 方法是类的一部分

  • 类的方法也是类的属性

装饰类里面的方法

@classmethod

调用的时候用类名,而不是某个对象

@property

像访问属性一样调用方法

类的继承

#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'wangke'__time__ = '2018-01-26 15:47'PROJECT_NAME = 'test_projtcts'class Programer(object):    hobby = 'Play Computer!'    def __init__(self, name, age, weight):        self.name = name        self._age = age        self.__weight = weight    def get_weight(self):        return self.__weight#继承Programer类class BackEndProgramer(Programer):    def __init__(self,name, age, weight, language):             #使用super()获取父类的属性        super(BackEndProgramer,self).__init__(name, age, weight)        self.language = languageif __name__ == '__main__':    Programer = BackEndProgramer('xiaoke','25',88,'Python') #实例化对象    print(dir(Programer))    print(Programer.__dict__) #打印从构造函数获得的属性

0人推荐
随时随地看视频
慕课网APP