# 经典类写法# schoolMember.__init__(self, name, age, sex)# 新式类写法super(Teather, self).__init__(name, age, sex)
class schoolMember(object):'''学校成员分类'''member = 0def __init__(self, name, age, sex):self.name = nameself.age = ageself.sex = sexself.enroll()  # 实例化时候 自动注册def enroll(self):'''注册'''print("just enrolled a new school member [%s]" % self.name)schoolMember.member += 1def tell(self):print("%s info".center(40, "-") % self.name)for i in self.__dict__:  # 循环字典   t1.__dict__print("\t", i, self.__dict__[i])print("End".center(40, "-")+"\n")def __del__(self):  # 析构函数print("开除了 [%s]" % self.name)schoolMember.member -= 1class Teather(schoolMember):'''教师类'''def __init__(self, name, age, sex, salary, course):# 经典类写法# schoolMember.__init__(self, name, age, sex)# 新式类写法super(Teather, self).__init__(name, age, sex)self.salary = salaryself.course = coursedef teaching(self):print("tearcher [%s] is teaching [%s]" % (self.name, self.course))class Student(schoolMember):'''学生类'''def __init__(self, name, age, sex, course, tuition):super(Student, self).__init__(name, age, sex)self.course = courseself.tuition = tuitionself.amount = 0def pay_tuition(self, amount):print("student [%s] has just paied [%s]" % (self.name, amount))self.amount += amountt1 = Teather("mike", 28, "F*M", 10000, "python")
s1 = Student("jianlin", 21, "N/A","pythons15", 100000)
s2 = Student("mayun", 12, "M", "pythons15", 210000)print(schoolMember.member)t1.tell()
s1.tell()
s2.tell()del s1
print(schoolMember.member)
del s2
print(schoolMember.member)
del t1
print(schoolMember.member)'''
just enrolled a new school member [mike]
just enrolled a new school member [jianlin]
just enrolled a new school member [mayun]
3
----------------mike info-----------------name mikeage 28sex F*Msalary 10000course python
------------------End-----------------------------------jianlin info-----------------name jianlinage 21sex N/Acourse pythons15tuition 100000amount 0
------------------End-----------------------------------mayun info-----------------name mayunage 12sex Mcourse pythons15tuition 210000amount 0
------------------End-------------------开除了 [jianlin]
2
开除了 [mayun]
1
开除了 [mike]
0
'''

class Person(object):  # 新式类    super

class Person:          # 经典类    Person.__init__()

现在主要写新式类

 
 

转载于:https://www.cnblogs.com/mingerlcm/p/8443397.html

python 面向对象 新式类和经典类相关推荐

  1. python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承

    1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...

  2. python中的__new__与__init__,新式类和经典类(2.x)

    在python2.x中,从object继承得来的类称为新式类(如class A(object))不从object继承得来的类称为经典类(如class A()) 新式类跟经典类的差别主要是以下几点: 1 ...

  3. python中新式类和经典类

    python中的类分为新式类和经典类,具体有什么区别呢?简单的说, 1.新式类都从object继承,经典类不需要. Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Pyth ...

  4. python新式类和经典类的区别?

    在python里凡是继承了object的类,都是新式类. Python2里面继承object的是新式类,没有写父类的是经典类. Python3里只有新式类. 经典类目前在Python里基本没有应用,多 ...

  5. Python 新式类与经典类

    新式类,经典类 查询匹配 广度查询 横着对每个类进行查询 深度查询 无视平级类,直接寻找下级类 #python 3.0 #新式类 广度查询 #经典类 广度查询 #python 2.0 #新式类 广度查 ...

  6. Python 中的新式类和经典类的区别?

    1. 版本支持 / 写法差异# 在Python 2.x 中 如果你至今使用的还是 Python 2.x,那么你需要了解一下,在Python 2.x中存在着两种类:经典类和新式类. 什么是经典类? Co ...

  7. 面向对象【day07】:新式类和经典类(八)

    本节内容 1.概述 2.类的多继承 3.经典类VS新式类 4.总结 一.概述 在python还支持多继承,但是一般我们很少用,有些语言干脆就不支持多继承,有多继承,就会带来两个概念,经典类和新式类,下 ...

  8. 面向对象:继承(经典类新式类继承原理、属性查找)、派生

    继承: 继承是指类与类之间的关系,是一种"什么"是"什么"的关系. 继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在Python中,新建的类 ...

  9. python经典类新式类_Python的新式类和经典类

    1. 前言 python在2.2版本中引入了descriptor功能,也正是基于这个功能实现了新式类(new-styel class)的对象模型, 同时解决了之前版本中经典类(classic clas ...

  10. python中新式类和经典类的区别

    1.新式类和经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于"新式类",都会获得所有"新式类"的 ...

最新文章

  1. php使用NuSoap产生webservice结合WSDL让asp.net调用
  2. php留言板只能留言一次,php如何实现留言板修改留言
  3. 让英文版windows 8支持非Unicode程序的语言方法
  4. this.parentNode.nextSibling 对div里的换行敏感
  5. Laravel 有哪些核心的内容?
  6. ios应用,64位问题,Missing 64-bit support
  7. css框架之960 Grid System 基本原理及使用方法
  8. Angular ngTemplateOutlet 元素的学习笔记
  9. java事件监听器无效_Java的事件监听器学习心得
  10. java语言转换c语言,求助大神!!!JAVA转换成C语言
  11. [蓝桥杯2019初赛]特别数的和-枚举
  12. 大厂首发:338页网易Java面试真题解析火爆全网
  13. std::future详解
  14. Python代码规范(PEP8)问题及解决
  15. 符合W3C标准的target=_blank形式
  16. 线上Mysql重大事故快速应急解决办法
  17. 十分钟弄懂字节对编码
  18. MATLAB在线网页链接使用
  19. Nexus3 安装 及 配置 docker 私有、代理 仓库
  20. java输出三角形星星

热门文章

  1. 【51单片机快速入门指南】7:片上EEPROM
  2. 【51单片机快速入门指南】3:中断系统
  3. 线程以及pthread库的使用
  4. react学习(18)----vs 全局搜索
  5. 前端学习(3045):vue+element今日头条管理-创建页面组件
  6. [vue] 删除数组用delete和Vue.delete有什么区别?
  7. [js] innerHTML与outerHTML有什么区别?
  8. 前端学习(2063):vue的生命周期
  9. 前端学习(1879)vue之电商管理系统电商系统之通过axios拦截器添加token认证
  10. 前端学习(1684):前端系列实战课程之判断游戏结束