python秃头之路 类的练习(一)

1

记录力的品牌mark,颜色color、价格price、速度speed等特征,并实现增加车辆信息、显示全部车辆信息的功能

class Car(object):
    """ 汽车对象类 """
    data=[]
    def record (self):
        """ 记录汽车数据 """
        Car.data.append({'mark':self.mark,'color':self.color,\
        'price':self.price,'speed':self.speed})
    
    def __init__ (self,mark,color,price,speed):
        """ 初始化汽车对象 """
        self.mark=mark
        self.color=color
        self.price=price
        self.speed=speed
        Car.record(self)
        
car=Car(1,2,3,4)
print(Car.data)

2

现有一项业务 :“Joker在BMW 4S店买了一俩BMW X7”,根据业务描述,声明相关类。

class Buy:
    """ Class doc """
    
    def __init__ (self):
        """ Class initialiser """
        pass

3

创建一个由有序数值对(x, y) 组成的 Point 类,它代表某个点的 X 坐标和 Y 坐标。X 坐标和 Y 坐标在实例化时被传递给构造器,如果没有给出它们的值,则默认为坐标的原点。

class Point(object):
    """ 有序坐标类 """
    point=[]
    
    def __init__ (self,x=0,y=0):
        """ 初始化坐标对象 """
        self.x=x
        self.y=y
        Point.point.append=(x,y)

4

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、学生对象调用learn方法
7、将三个学员添加至列表中,通过循环将列表中的对象打印出来,print(Student对象)

class Person(object):
    """ person类 """
    
    def __init__ (self,name,age,gender):
        """ 初始化person对象 """
        self.name=name
        self.age=age
        self.gender=gender
       
    def personInfo (self):
        """ 打印个人信息方法 """
        print('%s,性别:%s,年龄:%d'%(self.name,self.gender,\
        self.age))
        
  
class Teacher(Person):
    """ 教师类 """
    
    def __init__ (self,name,age,gender,college,professional):
        """ 初始化教师类 """
        super().__init__(name,age,gender)
        self.college=college
        self.professional=professional
        
    def personInfo (self):
        """ 打印教师信息 """
        super().personInfo()
        print('是%s%s的老师'%(self.college,self.professional))
        
    def teachObj (self):
        """ 讲课内容方法 """
        return '今天讲了如何用面向对象设计程序'
        
        
class Student(Person):
    """ 创建Student类,继承Person类,属性有学院college,班级class,重写父类personInfo方法,调用父类方法打印个人信息外,将学生的学院、班级信息也打印出来,创建方法study参数为Teacher对象,调用Teacher类的teachObj方法,接收老师教授的知识点,然后打印‘老师xxx,我终于学会了!’xxx为老师的teach方法返回的信息。重写__str__方法,返回student的信息 """
    data_student=[]
    
    def data (self):
        """ 学生数据列表方法 """
        Student.data_student.append('姓名:%s, 年龄:%d, 性别:%s, 学院:%s, 班级:%s'%(self.name,self.age,self.gender,self.college,self.banji))
    
    def __init__ (self,name,age,gender,college,banji):
        """ 初始化学生类 """
        super().__init__(name,age,gender)
        self.college=college
        self.banji=banji
        Student.data(self)
    
    def personInfo (self):
        """ 打印学生信息 """
        super().personInfo()
        print('是%s%s的学生'%(self.college,self.banji))
        
    def study (self):
        """ 学习的方法 """
        print('老师%s,我终于学会了!'%Teacher.teachObj(self))
        
        
    def __str__ (self):
        """ 对象返回值 """
        return '%s是%s%s的一位%d岁的%s同学'%(self.name,self.college,\
        self.banji,self.age,self.gender)
        
        
    
a=Student('小明',22,'男','家里蹲大学','三年二班')
a.personInfo()
a.study()
b=Student('小红',22,'女','家里蹲大学','三年二班')
b.personInfo()
a.study()
c=Student('小王',22,'男','家里蹲大学','三年二班')
c.personInfo()
a.study()
d=Teacher('大夏',44,'女','家里蹲大学','屋里系')
d.personInfo()
for i in Student.data_student:
    print(i)

5

建一个名为User的类,其中包含属性first_name和last_name,还有用户简介通常会存储的其他几个属性。在类User中定义一个名为describe_user()的方法,它打印用户信息摘要;再定义一个名为greet_user()的方法,它向用户发出个性化的问候。

class User(object):
    """ User类 """
    
    def __init__ (self,first_name,last_name,gender,age):
        """ 初始化User类 """
        self.first_name=first_name
        self.last_name=last_name
        self.gender=gender
        self.age=age
    
    def describe_user (self):
        """ 打印用户信息摘要 """
        print('name:%s·%s\ngender:%s\nage:%d'%(self.first_name,\
        self.last_name,self.gender,self.age))
        
    def greet_user (self):
        """ 问候方法 """
        print('Holle %s'%self.first_name)

        
michael=User('Michael','Jacken','male',61)
michael.describe_user()
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值