Day8之面向对象复习1

来源:互联网 发布:上海公积金算法 编辑:程序博客网 时间:2024/06/15 15:21
因为还不是很熟悉这一块的知识准备复习个两天再学习下一章
#!/usr/bin/python3# -*-coding:UTF-8-*-class Student(object):    def __init__(self, name, score):        self.__name = name        self.__score = score    def info(self):        print('学生名称:%s, 成绩:%s' % (self.__name, self.__score))# 定义私有方法    def __foo(self):        print('这是私有方法')# 获取私有变量    def get_score(self):        return self.__score# 修改私有变量    def set_score(self, score):        if 0 <= score <= 100:            self.__score = score        else:            print('请输入0100的数字')stu = Student('xiaomeng', 95)stu.info()print('修改前的成绩:', stu.get_score())stu.set_score(-88)print('修改后的成绩:', stu.get_score())# 继承class Animal(object):    def running(self):        print('Running...')class Cat(Animal):    pass# 子类会获得父类全部非私有的方法cat = Cat()cat.running()# 多态# 判断类isinstance()a = list() # a是一个listb = Animal() # b是一个Animalc = Cat() # c是一个Catprint('a是否为list类:', isinstance(a, list))print('b是否为Animal类:', isinstance(b, Animal))print('c是否为Cat类:', isinstance(c, Cat))print('c是否为Animal类:', isinstance(c, Animal))# 封装# 多重继承# 获取对象信息# type()print('123 的类为:', type(123))print('abs 的类:', type(abs))import typesdef func():    passprint(type(func) == types.FunctionType)print(type(abs) == types.BuiltinFunctionType)print(type(lambda x: x) == types.LambdaType)print(type((x for x in range(10))) == types.GeneratorType)# isinstance()# 判断继承关系# dir()# 获取一个对象所有的类和方法print(dir('abc'))
原创粉丝点击