元类(一)

这篇具有很好参考价值的文章主要介绍了元类(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 1 # -*- coding: utf-8 -*-
 2 """ 
 3 @Time    : 2023-06-25 23:14
 4 @Description :
 5 @Author  : Mr.Gu
 6 """
 7 import time
 8 import types
 9 
10 
11 class Meta(type):
12     def __new__(cls, name, bases, attrs):
13         for key, value in attrs.items():
14             if isinstance(value, types.FunctionType) and not key.startswith("_"):
15                 attrs[key] = property(value)
16         return super().__new__(cls, name, bases, attrs)
17 
18     def __call__(cls, *args, **kwargs):
19         inst = super().__call__(*args, **kwargs)
20         inst.created_at = time.time()
21         return inst
22 
23 
24 class Valley(metaclass=Meta):
25     def func(self):
26         print("testing")
27 
28 
29 Valley().func
30 print(Valley().created_at)

元类在工作中一般很少用到,除非手写框架

1、__new__创建类时调用

2、__call__创建与初始化类实例时调用

 文章来源地址https://www.toymoban.com/news/detail-501978.html

到了这里,关于元类(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode 每日一题 2023/9/25-2023/10/1

    记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 9/25 460. LFU 缓存 freqMap 以频率为索引 存放一个双向链表 每个节点存放key,value,freq keyMap 以key为索引存放在freqMap中的位置 9/26 2582. 递枕头 n个人 经过2n-2次回到开始的人 9/27 1333. 餐厅过滤

    2024年02月07日
    浏览(31)
  • 2023/4/25

    今天主要重新复习了一下树的基础知识,对于树的遍历和深度的求解进行了一些训练(复习了一下写过的题) 刷了两个关于树的简单题 104. 二叉树的最大深度 难度简单1586收藏分享切换为英文接收动态反馈 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶

    2024年02月01日
    浏览(32)
  • (学习日记)2023.04.25

    写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几

    2024年02月08日
    浏览(75)
  • WuThreat身份安全云-TVD每日漏洞情报-2023-06-06

    漏洞名称:IBOS 4.5.5 DEL ACTIONDEL ID SQL 注入漏洞 漏洞级别:中危 漏洞编号:CVE-2023-3100 相关涉及: IBOS 4.5.5  漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_ID=TVD-2023-13776 漏洞名称:KYLINSOFT KYLIN-SOFTWARE-PROPERTIES PRIOR 操作系统命令注入 漏洞级别:中危 漏洞编号:CVE-2023-3097 相关涉及

    2024年02月12日
    浏览(34)
  • 2023-5-25第二十五天

    attach附上 attack攻击 vargay奇特,好奇 fold折叠,合拢,包住 suspect怀疑 respect尊敬 costume服装 implement实施,执行,使生效 distract使分心 distric区 separate abortion流产 abortive失败的 amount convent修女 conventional普通的,常规的 convene召开,召集 wise明智的,高明的,精通的 possible

    2024年02月07日
    浏览(40)
  • 1 2023-10-25 组会分享

    注: 文章的原文有11个章节,分别是: 摘要 (Abstract) 引言 (Introduction) 概述 (Overview) 大语言模型资源 ( Resources of LLMs) 预训练 (Pre-trainng) 大语言模型的适配微调 ( Adaptation of LLMs) 使用 (Utilization) 能力评价 (Capacity and Evaluation) 快速设计实用指南 (A practical guidebook of prompt design) 应用

    2024年02月08日
    浏览(57)
  • 【2023/05/06】EDSAC

     Hello!大家好,我是霜淮子,2023倒计时第1天。 去成为你本该成为的人,任何时候都不会太晚。 (出处:乔治·艾略特) EDSAC:存储程序式计算机的开山之作。 part1 EDSAC,全称为“Electronic Delay Storage Automatic Computer”, 是世界上第一台实际运行的存储程序式电子计算机, 由英

    2024年02月03日
    浏览(39)
  • Git学习 - 2023-06-08

    对于未跟踪的文件,通常分为两类。要么是刚刚添加到项目中但尚未提交的文件,要么是编译后的二进制文件,比如 .pyc、.obj、.exe 等等,或者是运行了什么模型产生的文件。 git pull --rebase -- git pull就是先fetch,然后执行merge操作,如果加-rebase参数,就是使用git rebase代替git me

    2024年02月10日
    浏览(31)
  • (学习日记)2023.06.09

    写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几

    2024年02月15日
    浏览(38)
  • 微信小程序开发在app.json中新建页面时报[ WXML 文件编译错误] (env: Windows,mp,1.06.2206090; lib: 2.25.0)

     微信小程序开发在app.json中新建页面时报[ WXML 文件编译错误] (env: Windows,mp,1.06.2206090; lib: 2.25.0)错误,如图所示在pages中新建了l页面后右下角报错,左边模拟器不显示内容》  这时可以来到我们刚才新建的l界面的目录中,在目录下的wxml文件中删去微信开发者工具创建新页面时

    2024年02月12日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包