首页 > 编程语言 >Python:实现多态

Python:实现多态

时间:2023-05-26 15:36:55浏览次数:30  
标签:__ name Python self 多态 实现 SchoolMember print age


定义一个在校人的基类,分别派生出教师和学生,然后放入列表中,实现多态。

#!/usr/bin/python
#Filename:inherit.py

class SchoolMember:
    '''Represents any school member.'''
    
    def __init__(self, name, age):
        self.name = name
        self.age = age
        print '(Initialized SchoolMember:%s)'%self.name

    def tell(self):
        '''Tell my details'''
        print 'Name:"%s" Age:"%s"'%(self.name, self.age)

class Teacher(SchoolMember):
    '''Represents teacher.'''
    def __init__(self, name, age, salary):
        SchoolMember.__init__(self, name, age)
        self.salary = salary
        print '(Initialized Teacher:%s)'%self.name

    def tell(self):
        SchoolMember.tell(self)
        print 'Salary:"%d"'%self.salary

class Student(SchoolMember):
    '''Represents a student.'''
    def __init__(self, name, age, marks):
        SchoolMember.__init__(self, name, age)
        self.marks = marks
        print '(Initialized Student:%s)'%self.name

    def tell(self):
        SchoolMember.tell(self)
        print 'Marks:"%d"'%self.marks

t = Teacher('Mrs.Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)

print

members = [t, s]
for member in members:
    member.tell()

print 'Done'




标签:__,name,Python,self,多态,实现,SchoolMember,print,age
From: https://blog.51cto.com/u_16131207/6356762

相关文章

  • Python:简单的文件备份脚本
    文件备份脚本,实现了按照日期归类,时间建备份文件的功能,还能加入用户的备注信息。#!/usr/bin/python#Filename:backup_ver3.pyimportosimporttime#1.sourcefilewhichtobebackedup.source=['/home/shibo/Code']#2.targetpathwhicharebackedupto.target_dir......
  • Python:模拟linux命令cat
    模拟linux的cat命令,打印从命令行输入的文件名#!/usr/bin/python#Filename:cat.pyhelpString='''\Thisprogramprintsfilestothestandardoutput.Anynumberoffilescanbespecified.Optionsinclude:--version:Printstheversionnumber--help:Display......
  • Python:使用cPickle储存器存储对象
    一个简单的例子,演示了怎么使用cPickle存储对象#!/usr/bin/python#Filename:pickling.pyimportcPickleaspshoplistfile='shoplist.data'shoplist=['apple','mango','carrot']f=file(shoplistfile,'w')p.dump(shoplist,......
  • python中的exec()函数的作用
    exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。下面是一个简单的例子。>>>exec'print"HelloWorld"'HelloWorld注意例子中exec语句的用法和eval_r(),execfile()是不一样的.exec......
  • 编译安装python3.11.3
     1、下载源码包cd/usr/local/srcwget'https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tar.xz' 2、解压xz-dPython-3.11.3.tar.xztarzfPython-3.11.3.tar 3、安装编译工具和依赖包yum-yinstallgcc-c++openssl-devel 4、配置mkdir-p/......
  • RMQ 问题的两种实现办法(线段树查询和稀疏表(Sparse Table表)查询)
    引言RMQ算法(RangeMinimum/MaximumQuery)是静态区间极值查询的高效算法,在各种算法竞赛中常常出现,虽然不会单独拿出来做一个题,但是经常作为题的一部分。依据所需实现的不同性能可以有多种写法,这里主要讲基于线段树和稀疏表(SparseTable)的两种方法。线段树实现RMQ线段树是维护......
  • 【Python】hmac模块_基于密钥的消息验证
    HMAC算法可以用于验证信息的完整性,这些信息可能在应用之间或者网络间传递 1、SHA加密 #-*-coding:utf-8-*-importhmacimporthashlibclasshmac_tools:def__init__(self):self.key="a12345678"defsha512Encrypt(self,msg):......
  • JS 里如何实现异步?
    由于JS是单线程程操作,所以遇到了一些比较耗时的操作时,会影响到主线程的效率,比如在扫描二维码应用中,解析QRcode的过程中会造成页面相机流的卡顿。所以将耗时的解析过程放到子线程中就不会影响到主线程。使用webworker可以实现这个功能。1.子线程在子线程web_worker.js中使......
  • python生产力工具
    python做为一个使用简单,容易上手的编程语言,在大数据,人工智能出现之后,被使用的更加广泛了,通过它来写一个数据处理,挖掘更加得心应手了。IDE生产力工具PyCharm2022.2(ProfessionalEdition),属于jetbrain公司的一个产品本地安装python3.6,pip包管理工具hellowordimporthello......
  • python_操作excel
    摘自微信读书:《超简单:用Python让excel飞起来》Python处理excel的模块:xlsxWriter,xlrd,xlwt,xlutils,openpyxl,xlwings等其中:xlwings功能最强大,支持批量操作,还可与excelVBA结合使用区别如下:参考语句:importxlwingsasxwapp=xw.App(visible=False,add_book=False)foriinra......