博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十三章、元类之控制类的产生
阅读量:5292 次
发布时间:2019-06-14

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

目录

第十三章、元类之控制类的产生

一、自定义元类

说明:一个类继承type 这种类都叫元类

目的:来控制类的产生,可以控制类名,可以控制类的继承父类,控制类的名称空间

二、写一个自定义元类

  • 控制类的类名

    class Mymeta(type):    # def __init__(self,*args,**kwargs):    def __init__(self,name,bases,dic):        # self 就是Person类        print(name)        print(bases)        print(dic)        # 练习一:加限制 控制类名必须以sb开头        if not name.startswith('sb'):            raise Exception('类名没有以sb开头')
  • 类必须加注释

    class Mymeta(type):    def __init__(self,name,bases,dic):        print(self.__dict__['__doc__'])        doc=self.__dict__['__doc__']        if not doc:            #没有加注释            raise Exception('你的类没有加注释')class Person(object,metaclass=Mymeta):    '''    我加了注释    '''    school='oldboy'    def __init__(self,name):        self.name=name    def score(self):        print('分数是100')

转载于:https://www.cnblogs.com/demiao/p/11456270.html

你可能感兴趣的文章
loj #6136. 「2017 山东三轮集训 Day4」Left
查看>>
java集合类
查看>>
学习资料
查看>>
java 18 - 8 HashMap和ArrayList的嵌套2
查看>>
Day21 Json & pickle 数据序列化
查看>>
内存结构。
查看>>
洛谷 [FJOI2014]最短路径树问题 解题报告
查看>>
欲望都市游戏设计 背景图层和UI图层的设计
查看>>
2-2 groovy基础知识-理论介绍
查看>>
Null Object Design Pattern (Python recipe)
查看>>
bootstrap学习笔记(6)
查看>>
leetcode : Valid Sudoku
查看>>
浅谈-Lambda
查看>>
storm 批处理(窗口)
查看>>
洛谷 P1052 过河
查看>>
Python3 从零单排28_线程队列&进程池&线程池
查看>>
java resources 红叉 Cannot change version of project facet Dynamic Web Module to 2.5
查看>>
阿里云 CentOS7.2 配置FTP+Node.js环境
查看>>
HttpWebRequest 发送简单参数
查看>>
Eclipse启动JVM机制
查看>>