博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十三. python面向对象 组合执行顺序
阅读量:7070 次
发布时间:2019-06-28

本文共 5841 字,大约阅读时间需要 19 分钟。

一 .python面向对象 组合执行顺序(空间调用 ,不多说直接看代码理解)

 

# 类的命名空间调用class Grad(object):    bar=555555    def __init__(self,num):          self.num=num    def aa(self):        print("相当的99999999999999999S")class Son(Grad):    def aa(self):        print("相当的6666666666666666666")ret=[Grad(1),Grad(2),Son(3)]for itme in  ret:    print(itme.num)   #  1 2 3    itme.aa()# 执行顺序# 相当的99999999999999999S# 相当的99999999999999999S# 相当的6666666666666666666"""print("*********************************************")class Grad(object):        bar = 555555        def __init__(self, num):            self.num = num        def aa(self):            print("相当88888888888888888888888")class Son(Grad):      def __init__(self,num):          self.num=num      def bb(self):          print(self.num,"啦啦啦啦啦啦啦啦啦啦")ret = [Son(55), Grad(2), Son(6)]for itme in ret:    print(itme.num)    itme.aa()# 执行顺序# 55# 相当88888888888888888888888# 2# 相当88888888888888888888888# 6# 相当88888888888888888888888print("*********************************************")class Grad(object):        bar = 555555        def __init__(self, num):            self.num = num        def aa(self):            print("相当88888888888888888888888")        def run(self):            self.aa()class Son(Grad):    def __init__(self, num):        self.num = num    def bb(self):        print(self.num, "啦啦啦啦啦啦啦啦啦啦")ret = [Son(55), Grad(2), Son(6)]for itme in ret:    print(itme.num)    itme.run()# 执行顺序# 55# 相当88888888888888888888888# 2# 相当88888888888888888888888# 6# 相当88888888888888888888888print("*********************************************")class Grad(object):        bar = 555555        def __init__(self, num):            self.num = num        def aa(self,er):            print("相当哈哈哈哈哈哈哈哈哈---",er)        def run(self):            self.aa(999)class Son(Grad):    def aa(self,er):        print(self.num, "啦啦啦啦啦啦啦啦啦啦---",er)ret = [Son(55), Grad(2), Son(6)]ret[0].aa(888)ret[1].run()ret[2].aa(5555)# 执行顺序# 55 啦啦啦啦啦啦啦啦啦啦--- 888# 相当哈哈哈哈哈哈哈哈哈--- 999# 6 啦啦啦啦啦啦啦啦啦啦--- 5555

 

 二. 类嵌套组合

# 学校  地址   校区class School(object):      def __init__(self,addr,cam):          self.addr=addr          self.cam=cama1=School("北京","沙河校区")a2=School("深圳","罗湖校区")a3=School("上海","浦东校区")class Teacher(object):      def __init__(self,name,age,money,school=None):              self.name=name              self.age=age              self.__money=money              self.school=school          b1=Teacher("王老师",25,"3000元",a1)b2=Teacher("苍老师",25,"3555元",a2)b3=Teacher("李老师",25,"8555元",a3)class Grade(object):    def __init__(self,name,itme,mubers,teacher=None):        self.name=name        self.itme=itme        self.mubers=mubers        self.teacher=teacherc=Grade("前端3期","2008年","6个月",b3)print(c.name)print(c.itme)print(c.teacher.name)print(c.teacher.school.cam)print(c.teacher.school.addr)
class School(object):    def __init__(self,name,addr,less):        self.name=name        self.addr=addr        self.less=less    def aa(self):        print("学校有课程了哈哈哈%s"%self.less)obj1=School("新东方","北京校区","python")obj2=School("新东方","上海校区","linux")obj3=School("新东方","深圳校区","java")class Techar(object):    def __init__(self,name,age,money):        self.name=name        self.age=age        self.__money=money        self.schol=None    @property    def bb(self):       return self.__moneya1=Techar("王老师","25",9222)a2=Techar("李老师","15",522)a3=Techar("仓老师","19",6333)a1.schol=obj1print(f'把{a1.name}--安排到{a1.schol.name},--{a1.schol.addr}---上{a1.schol.less},而工资是--{a1.bb}元')a2.schol=obj2print(f'把{a2.name}--安排到{a2.schol.name},--{a2.schol.addr}---上{a2.schol.less},而工资是--{a2.bb}元')a3.schol=obj3print(f'把{a3.name}--安排到{a3.schol.name},--{a3.schol.addr}---上{a3.schol.less},而工资是--{a3.bb}元')
class School(object):    def __init__(self,name,addr,less):        self.name=name        self.addr=addr        self.less=less    def aa(self):        print("学校有课程了哈哈哈%s"%self.less)obj1=School("新东方","北京校区","python")obj2=School("新东方","上海校区","linux")obj3=School("新东方","深圳校区","java")class Techar(object):    def __init__(self,name,age,money):        self.name=name        self.age=age        self.__money=money        self.schol=School    @property    def bb(self):       return self.__moneya1=Techar("王老师","25",9222)a2=Techar("李老师","15",522)a3=Techar("仓老师","19",6333)a1.schol=obj1print(f'把{a1.name}--安排到{a1.schol.name},--{a1.schol.addr}---上{a1.schol.less},而工资是--{a1.bb}元')a2.schol=obj2print(f'把{a2.name}--安排到{a2.schol.name},--{a2.schol.addr}---上{a2.schol.less},而工资是--{a2.bb}元')a3.schol=obj3print(f'把{a3.name}--安排到{a3.schol.name},--{a3.schol.addr}---上{a3.schol.less},而工资是--{a3.bb}元')

 

三 .分页实现

class Page_number(object):     def __init__(self,pagr,ret,pag_nu=10):            self.pagr=pagr            self.ret=ret            self.pag_nu=pag_nu     @property     def start(self):         return  (self.pagr-1)*self.pag_nu       #   起始位置     @property     def ende(self):       return self.pagr*self.pag_nu   #  结束位置     @property     def show(self):          for roe in  self.ret[obj.start:obj.ende]:              print(roe)ret=[]for i in  range(1,99):    ret.append("lover%s"%i)while True:    page = int(input("请输入页码!!!!!"))    obj=Page_number(page,ret)    obj.show
ret=[]for i in  range(1,99):    ret.append("lover%s"%i)while True:    page=int(input("请输入页码!!!!!"))    page_num=10    star=(page-1)*10    end=page*10    for row in ret[star:end]:          print(row)
class Page_number(object):    def __init__(self, pagr, pag_nu=10):        self.pagr = pagr              self.pag_nu = pag_nu    @property    def start(self):        return (self.pagr - 1) * self.pag_nu  # 起始位置    @property    def ende(self):        return self.pagr * self.pag_nu  # 结束位置ret = []for i in range(1, 99):    ret.append("lover%s" % i)while True:    page = int(input("请输入页码!!!!!"))    obj = Page_number(page)    for row in  ret[obj.start:obj.ende]:         print(row)

 

转载于:https://www.cnblogs.com/Sup-to/p/11062315.html

你可能感兴趣的文章
微信小程序把玩(二十二)action-sheet组件
查看>>
【转】 android中的文件操作详解以及内部存储和外部存储
查看>>
LINUX系统安装MYSQL命令
查看>>
Android系统篇之—-编写简单的驱动程序并且将其编译到内核源码中【转】
查看>>
(转)程序员技术练级攻略
查看>>
maven 打包时提示 软件包 xxxxxxx 不存在
查看>>
对 Git 分支 master 和 origin/master 的一些认识
查看>>
jquery widgets 弹框
查看>>
Linux系统管理命令之权限管理
查看>>
取汉子拼音首字母的VB.Net方法
查看>>
使用Maven对JAVA程序打包-带主类、带依赖【转】
查看>>
[CSS] 点击事件触发的动画
查看>>
飞鱼星路由器配置端口映射
查看>>
《Linux Device Drivers》第十八章 TTY驱动程序——note
查看>>
virtual的使用方法
查看>>
POJ 1321 棋盘问题(DFS板子题,简单搜索练习)
查看>>
POJ 3155 Hard Life(最大密度子图)
查看>>
剑英的区块链学习手记(二)
查看>>
.Net接口调试与案例
查看>>
SQL Server 中BIT类型字段增删查改那点事
查看>>