练习1:编写一个学生类,产生一堆学生对象

class Student:school = 'Luffycity'count = 0def __init__(self, name, age, sex):self.name = nameself.age = ageself.sex = sexself.count += 1def learn(self):print('%s is learning' % self.name)stu1 = Student('alex', 'male', 38)
stu2 = Student('jinxin', 'female', 78)
stu3 = Student('Egon', 'male', 18)print(Student.count)
print(stu1.count)
print(stu2.count)
print(stu3.count)

结果输出

0
1
1
1

从以上结果可以看出,如果写成self.count ,他就会变成对象的私有属性,所以说虽然实例化了3次,但是类的count值为0,每个对象的count值为1

以下代码验证

print(stu1.__dict__)
print(stu2.__dict__)
print(stu3.__dict__)结果为{'name': 'alex', 'age': 'male', 'sex': 38, 'count': 1}
{'name': 'jinxin', 'age': 'female', 'sex': 78, 'count': 1}
{'name': 'Egon', 'age': 'male', 'sex': 18, 'count': 1}

修改代码

class Student:school = 'Luffycity'count = 0def __init__(self, name, age, sex):self.name = nameself.age = ageself.sex = sex# self.count += 1Student.count += 1def learn(self):print('%s is learning' % self.name)stu1 = Student('alex', 'male', 38)
stu2 = Student('jinxin', 'female', 78)
stu3 = Student('Egon', 'male', 18)print(Student.count)
print(stu1.count)
print(stu2.count)
print(stu3.count)
print(stu1.__dict__)
print(stu2.__dict__)
print(stu3.__dict__)结果为:3
3
3
3
{'name': 'alex', 'age': 'male', 'sex': 38}
{'name': 'jinxin', 'age': 'female', 'sex': 78}
{'name': 'Egon', 'age': 'male', 'sex': 18}

练习2:模仿王者荣耀定义两个英雄类

要求:

  1. 英雄需要有昵称、攻击力、生命值等属性;
  2. 实例化出两个英雄对象;
  3. 英雄之间可以互殴,被殴打的一方掉血
class Hero:def __init__(self,nick_name, life_value, aggresivity):self.nick_name = nick_nameself.life_value = life_valueself.aggresivity = aggresivitydef attack(self, enemy):enemy.life_value -= self.aggresivity# r1 = Hero('可爱的锐雯雯', 80, 50)
# g1 = Hero('草丛伦', 100, 30)
# print(r1.life_value)
# g1.attack(r1)
# print(r1.life_value)class Riven(Hero):camp = 'Noxus'# def __init__(self, nick_name, life_value, aggresivity):#     super(Riven, self).__init__(nick_name, life_value, aggresivity)class Garen(Hero):camp = 'Demacia'# def __init__(self, nick_name, life_value, aggresivity):#     super(Garen, self).__init__(nick_name, life_value, aggresivity)r1 = Riven('可爱的锐雯雯', 80, 50)
g1 = Garen('草丛伦', 100, 30)
print(r1.life_value)
g1.attack(r1)
print(r1.life_value)
print(r1.camp)
print(g1.camp)# 通过继承的方式新建类B,让B继承A,B会‘遗传’A的所有属性(数据属性和函数属性),实现代码重用

python常见编程题相关推荐

  1. python快速编程入门课后程序题答案-Python 入门编程题:1~10(答案)

    Python 入门编程题:1~10(答案) 提示:最好还是先思考,先编写,再看答案哦 ^_^ 1. for i in range(1, 5): for j in range(1,5): for k i ...

  2. python经典编程题分别取个位十位百位

    python经典编程题分别取个位十位百位 问题描述: 对于输入的两个两位数正整数a.b,将a的十位和个位依次放到c的十位和千位,将b的十位和个位依次放到c的百位和个位上. 输入:a,b两个整数 输出: ...

  3. python课程编程题汇总(中)

    python编程题汇总 众所周知,由于疫情的原因,大家都在上网课,我也不例外啦~ 用这个贴子来记录也和大家分享一下我们课上的编程讨论题 上篇在这→python课程编程题汇总(上) 下篇在这→pytho ...

  4. C 语言解 常见编程题

    目录 文章目录 目录 常见编程题各解法 0 交换值 1 累计和 2 Fibonacci 数列 ① 第N项 / 前N项 ② 前N项和 3 水仙花数 4 最大公约数与最小公倍数 5 完数 6 N的阶乘 ① ...

  5. python期末编程题_Python 语言程序设计二级教程第七章编程题

    编程题1 f=open('file1.txt','w') f.write('My name is Lin') f.write('I am from China') f.close() k=open(' ...

  6. python二级编程题百度文库_Python自动化面试常见的编程题及答案

    前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力.因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点. 基本编码能力及思维逻辑 基本数据结构(顺序表.链表.队列.栈.二叉树 ...

  7. python笔试编程题_Python自动化测试笔试面试时常见的编程题

    前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力.因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点. 基本编码能力及思维逻辑 基本数据结构(顺序表.链表.队列.栈.二叉树 ...

  8. python常见编程面试题_python面试题基础部分 80题

    1 为什么学习Python? 2 通过什么途径学习的Python? 3 Python和Java.PHP.C.C#.C++等其他语言的对比? 4 简述解释型和编译型编程语言? 5 Python解释器种类 ...

  9. python 常见算法题

    前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力.因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点. 基本编码能力及思维逻辑 基本数据结构(顺序表.链表.队列.栈.二叉树 ...

最新文章

  1. 爱尔兰 APC 微生物组研究所—菌群研究的全球领航者之一
  2. 今天说说OPPO——OPPO 实时数仓揭秘:从顶层设计实现离线与实时的平滑迁移
  3. java 字符串子串_java实现字符串匹配求两个字符串的最大公共子串
  4. ​ArduinoYun教程之ArduinoYun硬件介绍
  5. 原理c++_浅谈C/S和B/S架构的工作原理及优缺点
  6. html服务器框架,一种类似http/html的分布式GUI程序设计框架
  7. java多线程安全解决方案_《Java多线程编程核心技术(第2版)》 —1.2.8 实例变量共享造成的非线程安全问题与解决方案...
  8. pycharm git OpenSSL SSL_read: Connection was reset, errno 10054
  9. 使用php后台给自己做一个页面路由,配合ajax实现局部刷新。
  10. 在Windows Mobile上隐藏你的应用程序
  11. java模式之工厂模式
  12. 移远EC20开发环境搭建
  13. 机器翻译市场需求调研报告
  14. MIPS汇编语言学习笔记27:数组
  15. Google Earth Engine(GEE)——字典合并
  16. 测试同学反馈,java 程序内存泄露,症状是RSS不断增加超过了jvm的xmx
  17. 利用RNAi研究马铃薯基因功能——StRIK与外表皮应激反应
  18. 股票投资 - 如何看懂集合竞价
  19. 华为二面 招行信用卡中心终面面经
  20. 应广单片机003烧录器自定义封装使用技巧

热门文章

  1. 价目表报价单微信小程序
  2. 2020最新最详细K8s安装教程
  3. java程序设计教程视频_Java程序设计标准教程:DVD视频教学版
  4. springboot 之themeleaf的使用
  5. Python项目运行报错 django.core.exceptions.ImproperlyConfigured: WSGI application ‘WebTool.wsgi.application
  6. portainer添加mysql
  7. CSS盒子模型居中方法,限时删除
  8. 联合索引的最左前缀匹配原则
  9. 怎么提升社群转化率?
  10. Spring Cloud 整合 seata 实现分布式事务极简入门