• 面向对象


    类:一类事物相同的特征和动作整合在一起 类是一个抽象的概念

    对象:基于类创造的一个具体的事物,拥有具体自己特色的属性或者特征 对象是具体的

     1     #-------学校类--------
     2 def sch(name,type,addr):
     3     def exam(school):#类相关特征
     4         print('%s正在%s考试'%(school['name'],school['addr']))
     5     def recruit_s(school):#类相关特征
     6         print('%s  %s 正在%s招生'%(school['type'],school['name'],school['addr']))
     7     def init(name,type,addr):#初始化函数
     8         school = {
     9             'name':name,
    10             'type':type,
    11             'addr':addr,
    12             'exam':exam,
    13             'recruit_s': recruit_s,
    14         }
    15         return school
    16     res = init(name,type,addr)#运行函数init,初始化学校属性以及动作的添加
    17     return res
    18 sch1 = sch('yd','council','xian')
    19 print(sch1)
    20 sch1['exam'](sch1)
    21 sch1['recruit_s'](sch1)

    学校类:
    特征:名称 类型 地址
    动作:考试,招生

    改进版:

     1     #-------学校类--------
     2 class School:
     3     def exam(self):
     4         print('%s正在%s考试'%(self.name,self.addr))#self是指实例化的对象本身,执行函数时self把实例化的这个对象传到第一个参数的位置上,即sch1=self
     5     def recruit_s(self):
     6         print('%s  %s 正在%s招生'%(self.type,self.name,self.addr))
     7     def __init__(self,name,type,addr):#★★★系统内置函数,系统自动执行,初始化函数,默认self参数必须写
     8         self.name=name
     9         self.type=type
    10         self.addr=addr
    11 sch1 = School('yd','council','xian')#实例化一个对象(调用__init__运行)
    12 sch2 = School('szy','council','xianyang')#实例化另一个对象
    13 
    14 School.exam(sch1)
    15 School.recruit_s(sch1)
    16 School.exam(sch2)
    17 School.recruit_s(sch2)

     升级版:

    #--------------中国人类--------------
    class Chinese:
        skin = '黄皮肤'
        def kan_re_nao(self):#self是指实例化的对象本身,执行函数时self把实例化的这个对象传到第一个参数的位置上,如果没有self 下面对象调用方法会报错
         
    print('中国人哎看热闹') def you_xiu(self): print('%s很优秀'%self) ch1=Chinese() # ch2=Chinese() Chinese.kan_re_nao() Chinese.you_xiu('g_l') # print(dir(Chinese))
    ★★★

    # print(Chinese.__dict__)#查看类的属性字典
    # print(Chinese.skin)#本质为去下面__dict__找
    print(Chinese.__dict__['skin']) Chinese.__dict__['you_xiu']('g_l') Chinese.__dict__['kan_re_nao']()
    print(Chinese.__name__)#显示类名print(Chinese.__doc__)#显示文档'中国人都是黄皮肤'
     print(Chinese.__base__)#显示父类,即Object类 所有类的父类
     print(Chinese.__bases__)#以元组的形式显示父类即Object类
     print(Chinese.__dict__)#查看类的属性字典print(Chinese.__module__)#显示类所在的模块
     print(Chinese.__class__)
  • 相关阅读:
    Microsoft Visual Studio 产品密钥
    ActiveReport 9手把手搭建环境及实战
    TFS 用户与组管理(转)
    FTS下载地址
    URLScan安装及配置(转)
    viewstate加密(转)
    .net 网站发布 Web.Config中的<compilation debug="true"/>
    WebDAV被启用(转)
    js字母大小写转换
    限制同一个用户在同一时间只能登陆一次(转)
  • 原文地址:https://www.cnblogs.com/gl-gl/p/9197734.html
Copyright © 2020-2023  润新知