python学习笔记------面相对象

面向对象的第一个特性:封装


# # 定义函数
#
# def 函数名(形参):
#     pass
#
#
# # 执行函数, 必须要调用
# 返回结果  =  函数名(实参)



# # 定义类
# class 类名(父类名称):
#     pass
#
#
# # 执行类的内容, 也必须调用,这个过程称为实例化对象;
# 类名()


# 类,对象
# 属性: 类里面的变量,n
# 方法: 类里面的函数,v

# 类

class Student(object):
    # 类里面的变量名称为属性
    # name = "hello"
    # age = 15
    # score = 100
    # 构造函数, 实例化对象时,自动会执行的函数;
    def __init__(self, name, age, score):
        # self实际是实例化出来的对象
        # self.name把属性和对象进行绑定;
        self.name = name
        self.age = age
        self.score = score

        print("self:%s" %(self))

    # 在类里面定义的函数称为方法;
    # self参数, 是python解释器自动传递参数;
    def get_level(self):
        if 90<self.score<=100:
            return "%s,%s,A" %(self.name,self.age)
        elif 80<self.score<=90:
            return  "%s,%s,B" %(self.name,self.age)
        else:
            return  "%s,%s,C" %(self.name,self.age)

# 对象
stu1 = Student("westos",10,100)
print(stu1)
print(stu1.name)
print(stu1.age)
print(stu1.score)
print(stu1.get_level())

self:<__main__.Student object at 0x7efce8331080>
<__main__.Student object at 0x7efce8331080>
westos
10
100
westos,10,A

面向对象的第二个特性:继承


# 继承: 父类和子类; 基类和派生类.

class Student(object):
    # 类里面的变量名称为属性
    # name = "hello"
    # age = 15
    # score = 100
    # 构造函数, 实例化对象时,自动会执行的函数;
    def __init__(self, name, age, score):
        # self实际是实例化出来的对象
        # self.name把属性和对象进行绑定;
        self.name = name
        self.age = age
        self.score = score

        print("self:%s" %(self))

    # 在类里面定义的函数称为方法;
    # self参数, 是python解释器自动传递参数;
    def get_level(self):
        if 90<self.score<=100:
            return "%s,%s,A" %(self.name,self.age)
        elif 80<self.score<=90:
            return  "%s,%s,B" %(self.name,self.age)
        else:
            return  "%s,%s,C" %(self.name,self.age)



class SeniorStudent(Student):
    # 如果子类没有某个函数,则自动调用父类的函数;
    def __init__(self,name,age,score,gender):
        # 1.
        # self.name = name
        # self.age = age
        # self.score = score
        # 2.
        # Student.__init__(self,name,age,score)

        # 3.
        super(SeniorStudent, self).__init__(name,age,score)
        self.gender = gender

    def get_level(self):
        print("this is a senior score level")
        # return Student.get_level(self)
        return super(SeniorStudent, self).get_level()

s1 = SeniorStudent("westos",10,100, "男")
print(s1)
print(s1.get_level())


self:<__main__.SeniorStudent object at 0x7f00e644c160>
<__main__.SeniorStudent object at 0x7f00e644c160>
this is a senior score level
westos,10,A


猜你喜欢

转载自blog.csdn.net/qq_41891803/article/details/82221621