1、定义一个汽车类(Car),属性有颜色,品牌,车牌号,并实例化两个对象

class Car:def __init__(self,color,brand,num):self.color = colorself.brand = brandself.num = numno_1 = Car('红色','宝马','111')
no_2 = Car('灰色','奔驰','222')

2、定义一个球员类(Player),属性有身高、体重、姓名,实例化两个球员,分别是姚明和科比

class Player:def __init__(self,height,weight,name):self.height = heightself.weight = weightself.name = nameYaoMing = Player('200cm','90kg','姚明')
KeBi = Player('190cm','85kg','科比')

3、定义一个僵尸类(Zombie),属性有名字、体力值、攻击力,实例化三个僵尸类,并给属性赋值。

class Zombie:def __init__(self,name,values,attack):self.name = nameself.values = valuesself.attack = attackZombie1 = Zombie('大笨蛋','80','20')
Zombie2 = Zombie('中笨蛋','90','30')
Zombie3 = Zombie('小笨蛋','100','40')

4、设计一个立方体类(Box),定义三个属性,分别是长、宽、高。定义两个方法,分别计算并输出立方体的体积和表面积

class Box:def __init__(self,l,x,h):self.l = lself.x = xself.h = hdef tiji(self,l,x,h):tiji = l*x*hreturn tijidef baiomianji(self,l,x,h):biaomainji = (l*x+l*h+x*h)*2return biaomainjibox = Box(1,2,3)
print(box.tiji(6,6,6))
print(box.baiomianji(1,2,3))

5、请定义一个交通工具(Vehicle)的类,其中有:
属性:速度(speed)、体积(size)等等
方法:移动(move(s))、设置速度(setSpeed(speed)),加速speedUp(),减速speedDown() 等等
最后测试中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变

class Vehicle():def __init__(self,speed,size):self.__speed = speed  # 私有属性self.size = sizedef move(self,s):print("移动了%d"%s)def setSpeed(self,speed):if str(speed).isdigit():self.__speed = speedelse:print("请输入正确速度")def speedUp(self):self.__speed += 10print("当前速度速度",self.__speed)def speedDown(self):self.__speed -= 10print("当前速度速度", self.__speed)def test():v = Vehicle(30,15)v.move(20)        # 移动20v.setSpeed(50)   # 设置速度为50v.speedUp()    # 加速一次v.speedUp()     # 加速一次v.speedDown()  # 减速一次if __name__ == "__main__":test()    # 调用 test() 方法

6、定义一个Hero类
属性有 power,name,分别代表体力值和英雄的名字,体力值默认为100;
方法有:
(1)go() // 行走的方法,如果体力值为0,则输出不能行走,此英雄已死亡的信息
(2)eat(int n) // 吃的方法,参数是补充的血量,将n的值加到属性power中,power的值最大为100
(3)hurt() // 每受到一次伤害,体力值-10,体力值最小不能小于0

class Hero():def __init__(self,name):self.__name = nameself.__power = 100def go(self):if self.__power<=0:print("不能行走,此英雄已死亡")else:print("英雄前进")def eat(self,n):self.__power += nif self.__power>100:self.__power = 100print("当前体力值:",self.__power)def hurt(self):self.__power -= 10if self.__power <=0:self.__power = 0print("此英雄已死亡")print("当前体力值:", self.__power)h = Hero("程咬金")
h.go()
for i in range(10):h.hurt()
h.eat(120)

7、定义一个计算器:它的功能有加、减、乘、除、累加、阶乘、求平方、求次方,判断一个数是否为素数;
并写测试类来测试这个方法

class calculator:def add(self,a,b):c = a+breturn cdef minus(self,a,b):c = a-breturn cdef mul(self,a,b):c = a*breturn cdef chu(self,a,b):c = a//breturn cclass test(calculator):passa = test()
print(a.add(1, 2))
print(a.minus(4,1))
print(a.mul(3, 5))
print(a.chu(4, 4))

8、编写Python程序,用于显示人的姓名和年龄。
定义一个人类(person),该类中应有两个私有属性,姓名(name)和年龄(age)。
定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。
在测试方法中创造人类的实例,然后将信息显示。

class Person():def __init__(self,name,age):self.__name = nameself.__age = agedef display(self):print("姓名:%s,年龄:%d"%(self.__name,self.__age))def test():p = Person("FGL",30)p.display()
test()

9、定义一个类,该类有一个成员变量,通过构造方法将其进行赋初值,并提供该成员的 get_XXX() 和 set_XXX()方法

10、为“无名的粉”写一个类:class WuMingFen 要求:
(1)有三个属性:面码:theMa粉的份量(两):quantity 是否带汤:likeSoup
(2)写一个构造方法,以便于简化初始化过程,如:
f1 = WuMingFen(“牛肉”,3,true)
(3)测试可否有多个构造方法 -----> (不允许)

(4)写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上

class WuMingFen():def __init__(self,theMa,quantity,likeSoup):self.__theMa = theMaself.__quantity = quantityself.__likeSoup = likeSoupprint("三个参数")def check(self):print(self.__theMa,self.__quantity,self.__likeSoup)wmf = WuMingFen('大号',10,'dou-ting-hao')wmf.check()

11、写一个名为Account的类模拟账户,该类的属性和方法如下图所示。该类包括的属性:账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和 setter方法),取款方法 withdraw(),存款方法 deposit()。
提示:在提款方法withdraw中,需要判断用户余额是否能够满足提款数额的要求,如果不能,应给出提示。
创建Customer类。
a、声明三个私有对象属性:firstName、lastName 和 account
b、声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f 和 l)
c、声明两个公有存取器来访问该对象属性,方法 getFirstName 和 getLastName 返回相应的属性。
d、声明setAccount 方法来对 account 属性赋值
e、声明getAccount 方法以获取 account 属性

class Account:def __init__(self,id,balance,rate):self.id = idself.balance = balanceself.rate = ratedef getter(self):passdef setter(self):passdef withdraw(self):passdef deposit(self):passclass Customer:def __init__(self,__firstname,__lastname,__account):self.__firstname = __firstnameself.__lastname = __lastnameself.__account = __accountdef

继承1:
定义一个名为Vehicles(交通工具)的基类,该类中应包含 str 类型的成员属性 brand(商标)和 color(颜色),还应包含成员方法 run(行驶,在控制台显示“我已经开动了”)和 showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。编写Car(小汽车)类继承于 Vehicles 类,增加 float 型成员属性load(载重),还应增加成员方法 showTruck(在控制台显示卡车的信息),并编写构造方法。在测试方法中测试以上各类。

class Vehicles():def __init__(self,brand,color):self.brand = brand  # 私有属性不能被下面的继承,所以你想他被继承,就不能再写成私有的__brand、__color了self.color = colordef run(self):print("我已经开动了")def showinfo(self):print(self.brand,self.color)class Car(Vehicles):  # Vehicles类的基类def __init__(self,brand,color,seats): # 因为把父类的属性继承过来了,所以在调用父类构造函数的时候得给它赋值super().__init__(brand,color)self.__seats = seats     # seat是子类特有的属性def showcar(self):self.showinfo()  # 直接继承父类中的方法print(self.__seats)class Truck(Vehicles):  # Vehicles类的基类def __init__(self,brand,color,load): # 因为把父类的属性继承过来了,所以在调用父类构造函数的时候得给它赋值super().__init__(brand,color)self.__load = load     # seat是子类特有的属性def showTruck(self):self.showinfo()    # 直接继承父类中的方法print(self.__load)c = Car("雪佛兰","黑色",5)
c.run()
c.showcar()
t = Truck("东风","红色",500)
t.run()
t.showTruck()

继承2:
编写一个类Calculate1,实现 加、减两种算法,然后编写另一个派生类 Calculate2,实现乘、除两种运算

继承3:
建立三个类:居民、成人、官员。居民包括身份证号、姓名、出生日期,而成人继承自居民,多包涵学历、职业两项数据;官员则继承自成人,多包涵党派、职务两项数据。要求每一个类的字段都以属性的方式对外提供数据输入输出功能。

覆盖、继承:
建立一个汽车 Auto类 ,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求:汽车能够加速,减速,停车。再定义一个 小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法。

多态练习:
1、定义一个Animal父类,方法有eat():
2、定义三个子类:Cat、Dog、Eagle;每个子类增加新的方法,并重写eat()
3、利用多态性

class jumin():def __init__(self,idcard,name,birthday):self.__idcard = idcardself.__name = nameself.__birthday = birthdaydef get_name(self):return self.__namedef set_name(self,name):self.__name = nameclass chengren(jumin):def __init__(self,idcard,name,birthday,xueli,job):super().__init__(idcard,name,birthday)self.__xueli = xueliself.__job = jobclass guanyuan(chengren):def __init__(self, idcard, name, birthday, xueli, job,dangpai,zhiwu):super().__init__(idcard,name,birthday,xueli,job)self.__dangpai = dangpaiself.__zhiwu = zhiwugy = guanyuan("123","lhy","1998-1-23","博士","python教授","民主","科员")
name = gy.get_name()
print(name)
class person():def __init__(self,name,age,sex):self.__name = nameself.__age = ageself.__sex = sexdef get_name(self):return self.__namedef set_name(self, name):self.__name = namedef get_age(self):return self.__agedef set_age(self, age):self.__age = agedef get_sex(self):return self.__sexdef set_sex(self, sex):self.__sex = sexclass student(person):def __init__(self,name,age,sex,*mylist):super().__init__(name,age,sex)self.__mylist = mylistdef get_mylist(self):return self.__mylistdef set_mylist(self,*mylist):self.__mylist = mylistdef myavg(self):sum = 0for i in self.__mylist:sum+=ireturn sum/len(self.__mylist)s = student("hjx",18,"男",58,59,57,56,53)
s.set_mylist(1,2,3,4,5)
myavg = s.myavg()
print(myavg)
print(s.get_name())

面向对象练习【Python】相关推荐

  1. 面向对象的Python编程,你需要知道这些!

    摘要:Python 没有像 java 中的"private"这样的访问说明符.除了强封装外,它支持大多数与"面向对象"编程语言相关的术语.因此它不是完全面向对象 ...

  2. 视频教程-彻底掌握Python面向对象编程-Python

    彻底掌握Python面向对象编程 曾就职于猎豹移动,从业已有8年,资深技术专家,现致力于线上教育 陈政强 ¥39.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP ...

  3. python面向对象编程指南 豆瓣_一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创...

    尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...

  4. python装饰器和异常处理_装饰器异常处理-面向对象编程-Python教程自动化开发_Python视频教程...

    课程目标:使学员掌握python基础教程知识,能够开发常用的PYTHON脚本 课程特色:实战,细致,生动,深入浅出 适用人群:适合PYTHON初学者 课程详情:该Python视频教程从0基础开始讲解P ...

  5. Python logo面向对象编程语言 Python

    Python (发音:[ 'paiθ(ə)n; (US) 'paiθɔn ]n.蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史 ...

  6. 面向对象基础 python

    面向对象基础 面向对象和面向过程 面向过程 面向对象 对比一下 面向对象的实现 类的定义 构造函数 方法 self 总结 练习题 面向对象和面向过程的比较 大象装冰箱示例 小猪佩奇大战奥特曼 面向对象 ...

  7. 面向对象(Python)

    前言 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗 ...

  8. python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python

    我正在定义一个名为"car"的类,我将它与一个在我的类上运行一系列测试的文档进行比较.然而,我在驱动法中得到了错误的答案,我不知道为什么.在 这是我的密码.驱动方法应该以汽车为参数 ...

  9. 面向对象在python中的实践---如何定义类、对象?

    一.如何定义一个类 1.1基本语法 class Money:pass 类可以分为经典类和新式类 注意点: 类名Money中的首字母必须要大写 二.怎样通过类,创建一个对象 2.1根据类创建一个对象 # ...

  10. python入门:正则表达式,面向对象编程,零基础视频教程分享

    正则表达式 import re #首先必须import re模块,re=Regular Expression,就是正则表达式的意思. pattern=re.compile(r'hello') #指明你 ...

最新文章

  1. mysql获取配置文件信息,四种获取MySQL数据库配置文件加载顺序
  2. SpringMVC拦截器与异常处理
  3. Flink Pre-defined Timestamp Extractors / Watermark Emitters(预定义的时间戳提取/水位线发射器)...
  4. Arnold+Shave 渲染毛发
  5. 用NanoPi neo制作网络音箱了解一下?
  6. 「Leetcode-Python」python中利用链表计算两个非负整数之和(链表类型非列表)
  7. 最长公共子序列(JAVA实现)
  8. Spring Cloud Context
  9. 第九期: 阿里巴巴程序员常用的15款开发者工具
  10. WCF学习资源收集汇总
  11. created写法_vue.js中created方法作用
  12. 百度实习笔试题(2012.5.6)
  13. 微软 Small Basic 简体中文版 已经发布了
  14. 网络爬虫--抓取图片_vortex_新浪博客
  15. Asp.net防止盗链
  16. VIM python 自动补全插件:pydiction
  17. Excel函数实战技巧精粹(五)LEN和LENB等函数之常用用法
  18. 可以下载solidworks2007 完整版的连接
  19. 截止失真放大电路_模拟放大器
  20. 计算机制作贺卡教案,教案与学生成果:制作电子贺卡

热门文章

  1. ubuntu 18.04,20.04 都能用,安装python3.9.4 + pip21.1.1(亲测新版python3.9.7+pip21.2.3也可以用)
  2. 【牛客网】滑动窗口的最大值
  3. Docker和FastDFS上传和下载文件
  4. Zernike多项式波前重建算法
  5. hnc8进linux环境,最新发布linux指令大全总汇详解完整珍藏版-8
  6. linux EHCI DRIVER之中断处理函数ehci_irq()分析(一)
  7. 【论文泛读123】跨语言情感检测
  8. 广州科源980tc数控系统说明书_GSK928TCa广州数控车床数控系统使用说明书.pdf
  9. 股票市场情绪量化模型是什么?
  10. 12c oracle 修改内存_Oracle12c中性能优化amp;功能增强新特性之重大突破——内存列存储新特性...