1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 巧用Python装饰器 免去调用父类构造函数的麻烦

巧用Python装饰器 免去调用父类构造函数的麻烦

时间:2022-09-02 08:07:07

相关推荐

巧用Python装饰器 免去调用父类构造函数的麻烦

后端开发|Python教程

Python,装饰器

后端开发-Python教程

先看一段代码:

android便签项目源码,vscode滚轮速度,ubuntu复制文件夹命令,tomcat重定向,c sqlite加密,网页设计页面尺寸,apmserv5.2.6数据库名称,服务器带宽是什么意思,大漠插件支持库,web前端页面框架标签,字幕爬虫,php设计,seo修改,springboot架子,动易标签 目录,带后台管理的网站一般多少钱,数据查找网页模板下载 数据查找,织梦模板图片不显示,网站后台下载图片,页面消息提示demo,校友系统班级信息管理系统,asp十大开源程序lzw

复制代码 代码如下:

vb 斗地主源码,vscode配置gdb,ubuntu客户端下载,tomcat 指定版本,sqlite填充修改内容,多列图片切换js插件,如何梳理方案前端框架,python爬虫获取title,php 流量,seo文章标题优化,微商销售网站源码,手机网页视频播放器,web手机商城模板源码, 页面自适应,e游旅行社管理系统,小程序 吸粉游戏源码lzw

class T1(threading.Thread):

def __init__(self, a, b, c):

super(T1, self).__init__()

self.a = a

self.b = b

self.c = c

微威客源码,vscode插件商店在哪,ubuntu安装指纹,tomcat默认内存6,爬虫协议解密,php逐行读取文件,苏州seo排名怎么样,培训 网站 模板,cis_清爽门户模板 商业版v1.0lzw

def run(self):

print self.a, self.b, self.c

代码定义了一个继承自threading.Thread的class,看这句

super(T1, self).__init__()

也有些人喜欢这么写

threading.Thread.__init__(self)

当然作用都是调用父类的构造函数。

写了这么久的python代码,每次写到这都有重复造轮子的感觉。刚才突然想到装饰器这个好东西,试着写了个autoInitClass来帮助pythoner脱离苦海,免去手动调用父类构造函数的麻烦。

代码如下:

复制代码 代码如下:

def autoInitClass(OldClass):

superClass = OldClass.mro()[1]

class NewClass(OldClass):

def __init__(*args):

self = args[0]

superClass.__init__(self)

apply(OldClass.__init__, args)

return NewClass

使用autoInitClass装饰器构造新类:

复制代码 代码如下:

@autoInitClass

class T2(threading.Thread):

def __init__(self, a, b, c):

#不用再写super(T2, self).__init__()

self.a = a

self.b = b

self.c = c

def run(self):

print self.a, self.b, self.c

本文来自: itiandas blog ,转载请注明原文出处

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。