第十三章、元类之控制类的产生
时间:2019-09-03
本文章向大家介绍第十三章、元类之控制类的产生,主要包括第十三章、元类之控制类的产生使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
第十三章、元类之控制类的产生
一、自定义元类
说明:一个类继承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
- dom4j的读写xml文件,读写xml字符串
- 省市县三级联动
- 从国家统计局爬下来的地区信息
- app令牌的一个token实现
- velocity分页模板
- js基础-表单验证和提交
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- oracle创建用户
- oracle创建表相关
- spring学习遇到的问题汇总
- Java XML解析工具 dom4j介绍及使用实例
- redis学习教程之一基本命令
- 在java中使用redis
- springmvc学习笔记--json--返回json的日期格式问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 6.04-news_xpath3
- 6.05-btc
- 7.01-beautiful_soup
- mysql导入导出数据
- 7.01-beautiful_soup2
- 7.01-beautiful_soup3
- CentOS7上安装 JDK8 Hadoop Hive
- 7.02-bs4_btc
- [已解决]报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 80-81
- 8.02-json_use
- Scrapy问题
- 8.03-json_to_csv
- Docker笔记
- 8.04-book
- 11.redis_python