python入门(8)

Python入门(8)

面向对象

面向过程:亲力亲为

面向对象:叫人帮忙

类与对象

类:模版

对象:实例

class 类型(object):
	pass	
类的构成

类的具体构成:

属性:数据

函数:方法

    def __init__(self): # known special case of object.__init__
        """ Initialize self.  See help(type(self)) for accurate signature. """
        # 初始化自己,
        pass
    def __new__(cls, *more): # known special case of object.__new__
        """ Create and return a new object.  See help(type) for accurate signature. """
        # 新建一个新的对象
        pass
class Dog(object):
    def __init__(self,name):
        self.name=name
        print("这是dog的init")
        
dog1=Dog("小包")
#动态增加属性
dog1.leg=4
print("名字",dog1.name)
print("腿",dog1.leg)
'''
1、创建Person类,属性有姓名、年龄、性别,创建方法personInfo,打印这个人的信息
2、创建Student类,继承Person类,属性有学院college,班级class,重写父类personInfo方法,调用父类方法打印个人信息外,将学生的学院、班级信息也打印出来,创建方法study参数为Teacher对象,调用Teacher类的teachObj方法,接收老师教授的知识点,然后打印‘老师xxx,我终于学会了!’xxx为老师的teach方法返回的信息。重写__str__方法,返回student的信息。
3、创建Teacher类,继承Person类,属性有学院college,专业professional,重写父类personInfo方法,调用父类方法打印个人信息外,将老师的学院、专业信息也打印出来。创建teachObj方法,返回信息为‘今天讲了如何用面向对象设计程序’
4、创建三个学生对象,分别打印其详细信息
5、创建一个老师对象,打印其详细信息
6、学生对象调用study方法
7、将三个学员添加至列表中,通过循环将列表中的对象打印出来,print(Student对象)。
'''

class Person():
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
    def personInfo(self):
        print("a Person ",self.name,self.age,self.sex)

class Student(Person):
    def __init__(self,name,age,sex,college,classes):
        super(Student, self).__init__(name,age,sex)
        self.college=college
        self.classes=classes

    def personInfo(self):
        print("a Student ",self.name,self.age,self.sex,self.college,self.classes)

    def study(self,Teacher):
        xxx=Teacher.teachObj()
        print("老师%s我终于学会了!"%xxx)

    def __str__(self):
        temp = "a Student "+self.name+str(self.age)+self.sex+self.college+self.classes

        return temp

class Teacher(Person):
    def __init__(self,name,age,sex,college,professional):
        super(Teacher, self).__init__(name,age,sex)
        self.college=college
        self.professional=professional

    def personInfo(self):
        print("a Teacher ", self.name, self.age, self.sex, self.college, self.professional)

    def teachObj(self):
        return "今天讲了如何用面向对象设计程序"

stu1=Student("校长 ",18," 男 ","清华 ","2")
print(stu1)
stu2=Student("校网 ",1," 男 ","北大 ","2")
print(stu2)
stu3=Student("小丽 ",118," 男 ","北大 ","4")
print(stu3)
tea1=Teacher("李老师",22,"女","北大","物理老师")
print(tea1)
stu1.study(tea1)
l=[stu1,stu2,stu3]
for i in l:
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值