第ä¹�ç« ï¼šå…ƒç¼–ç¨‹Â¶
软件开å�‘é¢†åŸŸä¸æœ€ç»�典的å�£å¤´ç¦…就是“don’t repeat yourselfâ€�。
ä¹Ÿå°±æ˜¯è¯´ï¼Œä»»ä½•æ—¶å€™å½“ä½ çš„ç¨‹åº�ä¸å˜åœ¨é«˜åº¦é‡�å¤�(或者是通过剪切å¤�制)的代ç �时,都应该想想是å�¦æœ‰æ›´å¥½çš„解决方案。
在Python当ä¸ï¼Œé€šå¸¸éƒ½å�¯ä»¥é€šè¿‡å…ƒç¼–程æ�¥è§£å†³è¿™ç±»é—®é¢˜ã€‚
简而言之,元编程就是关于创建æ“�作æº�代ç �(比如修改ã€�生æˆ�或包装原æ�¥çš„代ç �)的函数和类。
主�技术是使用装饰器�类装饰器和元类。�过还有一些其他技术,
包括ç¾å��对象ã€�使用 exec() 执行代ç �以å�Šå¯¹å†…部函数和类的å��射技术ç‰ã€‚
æœ¬ç« çš„ä¸»è¦�目的是å�‘大家介ç»�这些元编程技术,并且给出实例æ�¥æ¼”ç¤ºå®ƒä»¬æ˜¯æ€Žæ ·å®šåˆ¶åŒ–ä½ çš„æº�代ç �行为的。
Contents:
- 9.1 åœ¨å‡½æ•°ä¸Šæ·»åŠ åŒ…è£…å™¨
- 9.2 创建装饰器时�留函数元信�
- 9.3 解除一个装饰器
- 9.4 定义一个带�数的装饰器
- 9.5 �自定义属性的装饰器
- 9.6 带�选�数的装饰器
- 9.7 利用装饰器强制函数上的类型检查
- 9.8 将装饰器定义为类的一部分
- 9.9 将装饰器定义为类
- 9.10 为类和��方法�供装饰器
- 9.11 è£…é¥°å™¨ä¸ºè¢«åŒ…è£…å‡½æ•°å¢žåŠ å�‚æ•°
- 9.12 使用装饰器扩充类的功能
- 9.13 使用元类控制实例的创建
- 9.14 �获类的属性定义顺�
- 9.15 定义有�选�数的元类
- 9.16 *argså’Œ**kwargs的强制å�‚æ•°ç¾å��
- 9.17 在类上强制使用编程规约
- 9.18 以编程方�定义类
- 9.19 在定义的时候�始化类的�员
- 9.20 利用函数注解实现方法�载
- 9.21 ����的属性方法
- 9.22 定义上下文管�器的简�方法
- 9.23 在局部å�˜é‡�åŸŸä¸æ‰§è¡Œä»£ç �
- 9.24 è§£æž�与分æž�Pythonæº�ç �
- 9.25 拆解Pythonå—节ç �