avatar
文章
599
标签
109
分类
29
首页
归档
分类
标签
关于
xhj的博客Python_Metaclass 返回首页
首页
归档
分类
标签
关于

Python_Metaclass

发表于2025-07-06|更新于2026-06-10|Python
|浏览量:

Python Metaclass

参考资料

  • What are metaclasses in Python?
文章作者: xhj
文章链接: https://hzhzxfs.github.io/2025/07/06/Python_Metaclass/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
Python
上一篇
Python_Module
Python Module python中的模块、库、包有什么区别?——风影忍着 python中的模块、库、包有什么区别?——看图学
下一篇
Python_Magic_Method
Python Magic Method__post_init____post_init__(self) 方法在数据类实例初始化后被调用,用于执行一些额外的初始化逻辑。 例如,可以在这里进行属性的验证、计算以及设置默认值等操作。这有助于将初始化逻辑封装在类中,使代码更加清晰和模块化。 __repr__当直接打印类的实例化对象时,系统将会输出对象的自我描述信息,默认是输出其内存中的对象,如:<__main__.Person object at 0x0042A6A0>。 我们可以重写 __post_init__(self) 方法,从而自定义类的打印信息。
相关推荐
2025-07-03
Python_Decorator
Python Decorator基本原理…… 内置装饰器@property@property:把一个方法变成属性调用。 示例一: 把一个 getter 方法变成属性,只需要加上 @property 就可以了,此时,@property 本身又创建了另一个装饰器 @score.setter,负责把一个 setter 方法变成属性赋值。 123456789101112class Student(object): @property def score(self): return self._score @score.setter def score(self, value): if not isinstance(value, int): raise ValueError('score must be an integer!') if value < 0 or value > 100: raise ValueError('score mu...
2021-07-21
复盘|天堂硅谷·数字经济算法编程大赛
复盘|天堂硅谷·数字经济算法编程大赛题目-01 化学反应【模拟】按题意模拟(可以用大根堆或者平衡树),每次找两个最大的出来,直到没有剩余或只剩一个。 1 2 3 4 5 6 7 8 9 #平衡树 from sortedcontainers import SortedList class Solution: def lastMaterial(self, material: List[int]) -> int: s = SortedList(material) while len(s) > 1: a, b = s.pop(), s.pop() if a != b: s.add(a - b) return s[0] if s else 0 1 2 3 4 5 6 7 8 9 #大根堆 class Solution: def lastMaterial(self, material: List[int]) -> int: ...
2024-10-06
6_data_coding
Data and Coding数据编码和处理读写 csv 文件csv 文件为逗号分隔符文件,指定逗号作为每一项数据的分隔符,存储维护一个类似表格的文件。对于 Python 来说,一般用 csv 库解决它的读写问题。 读 csv 文件 将 csv 文件中的数据读取为一个元组的序列: 1234567import csvwith open("data.csv") as f: f_csv = csv.reader(f) headers = next(f_csv) # 取第一行数据,一般而言第一行是标题 for row in f_csv: pass # row:数据行,是一个列表,通过下标取数据。 下标访问数据可能会引起混淆,可以考虑使用命名元组。 12345678from collections import namedtuplewith open("data.csv") as f: f_csv = csv.reader(f) headers = next(f_c...
2025-07-09
Python_Setup
Python setup.py参考资料 What is setup.py? 花了两天,终于把 Python 的 setup.py 给整明白了
2025-07-01
PyTorch-CUDA图原理与用法详解
我来详细解释 torch.cuda.graph(graph, pool=xxx) 的原理与用法。 原理CUDA Graph 是 PyTorch 中用于优化 GPU 计算性能的技术,主要原理是: 计算图捕获:将一系列 CUDA 操作捕获为一个静态图 单次启动:整个图只需一次 GPU 启动,而不是多次内核启动 减少开销:避免了内核启动开销、CPU-GPU 同步等 pool=xxx 参数用于指定内存池,让图形在专用内存中运行,进一步提高性能。 基本用法123456789101112131415161718192021import torch# 准备示例计算def example_computation(x, weight): return torch.nn.functional.conv2d(x, weight)# 创建输入和参数x = torch.randn(4, 3, 32, 32, device='cuda')weight = torch.randn(16, 3, 3, 3, device='cuda')# 创建 CUDA 图gr...
2024-10-07
7_function
Function函数可接受任意数量参数的函数如果想要构造一个可接受任意数量参数的函数,可以使用 * 参数来定义该函数: 12345def avg(first, *others): return (first + sum(others)) / (1 + len(others))print(avg(1,2)) # 1.5print(avg(1,2,3,4,5)) # 3 为了接受任意数量的关键字参数,可以使用以 ** 开头的参数定义函数: 1234def foo(attr1, attr2, **attrs): print(attr1, attr2, attrs)foo(1, 2, n=1, m=2) # 1 2 {'n':1,'m':2} 综上所述,*args 和 **kwargs 分别是第一章介绍的压缩和字典参数。要求 *args 只能放在最后一个位置参数后面,**kwargs 只能放在最后一个参数后面。 只接受关键字参数的函数将强制关键字参数放到某个 * 参数或者单个 * 后面就能...
avatar
xhj
相关学习笔记
文章
599
标签
109
分类
29
Follow Me
公告
欢迎来到我的博客
目录
  1. 1. Python Metaclass
    1. 1.1. 参考资料
最新文章
14-FastAPI接口与项目闭环2026-10-14
13-主智能体搭建与异步执行2026-10-13
12-RAGFlow子智能体与知识库准备2026-10-12
11-数据库查询子智能体与MySQL工具2026-10-11
10-网络搜索子智能体与Tavily工具2026-10-10
© 2025 - 2026 By xhj框架 Hexo 8.1.2|主题 Butterfly 5.5.4