魔法
Python基础入门学习笔记 041 魔法方法:构造和析构
__init__(self[, ...]) 方法是类在实例化成对象的时候首先会调用的一个方法 1 >>> class Rectangle: 2 def __init__(self,x,y): 3 self.x = x 4 self.y = y 5 def getPeri(self): 6 retur ......
Luogu P2801 教主的魔法
### [在洛谷中查看](https://www.luogu.com.cn/problem/P2801) ## $1$ 思路: #### $1.0$ 我们考虑使用分块做,但查询操作也不能预处理啊,$c$ 可是 $10^9$ 级别的。 #### $1.1$ 那么让我们来学习一下分块的找 大于/小于 $ ......
学习笔记:反転魔法
# 学习笔记:反転魔法 ## 1. 反演是什么? 反演这个词,意思是两个函数(当然也可以是数列一类的东西)的 **双向求和** 关系。 比如已知 $f(i)=\sum \limits_{j=0}^{+\infty} A(i,j) \times g(j)$,然后推出 $g(i)=\sum \limit ......
P9504 『MGOI』Simple Round I | C. 魔法禁林
赛时第一眼看,是个无向图,求一个点到另外一个点的最小值,诶,这不裸的最短路嘛,然后兴高采烈地倒着跑了个 `dijkstra`,喜提 $30$ 分。仔细一看,$w \le 100$,发现当 $k > 100$ 时,生命就是永恒的,于是加了个剪枝,就过啦。 具体地,正常的最短路量有一个,本题有两个。于是 ......
前端黑魔法 —— 如何让自己的函数变成原生函数
# 前言 熟悉 JS 的都知道,原生函数转成字符串,显示的是 native code: ```javascript alert + '' // "function alert() { [native code] }" ``` 如果用自己的函数对其重写,显示的则是自己的代码: ```javascrip ......
『MGOI』Simple Round I | B. 魔法照相馆 题解
[题目传送门](https://www.luogu.com.cn/problem/P9503) 一道模拟题。 并不复杂的模拟题,也不需要用到贪心。 我们可以创建一个数组来记录每个幕布是否被拉上,统计答案的时候,就看看这块幕布前面有多少个没拉上的,最后如果这块幕布拉上了,就重新放下来就行了。 ```c ......
[刷题笔记] 『MGOI』Simple Round I | C. 魔法禁林
[Problem](https://www.luogu.com.cn/problem/P9504) ### Description 在一张**无向简单连通图**上,某人需要从$s$点走到$t$点,她初始有两个值,分别为**魔力值**,**生命值**,每条边上都有一个怪,假设她当前的魔力值为$k$,怪 ......
【题解】Luogu[P9504] 『MGOI』Simple Round I C. 魔法禁林
[Link](https://www.luogu.com.cn/problem/P9504) 这题我们发现如果直接去枚举生命和法力值显然是不行的,又看到说最小的生命值,不禁想到最短路,但是怎么跑? 我们令经过一条边之前魔力值为 $k$,那么该边的边权为 $\lfloor\dfrac{w}{k}\rf ......
前端黑魔法 —— 如何让自己的函数变成 native code
# 前言 熟悉 JS 的都知道,原生函数转成字符串,显示的是 native code: ```javascript alert + '' // "function alert() { [native code] }" ``` 如果用自己的函数对其重写,显示的则是自己的代码: ```javascrip ......
前端黑魔法 —— 隐藏网络请求的调用栈
# 前言 浏览器网络控制台会记录每个请求的调用栈(Initiator/启动器),可协助调试者定位到发起请求的代码位置。 ![](https://img2023.cnblogs.com/blog/273626/202308/273626-20230804174418311-2014689431.png ......
C#中的9个“黑魔法” -- 语法糖
C#中的9个“黑魔法”与“骚操作” 我们知道C#是非常先进的语言,因为是它很有远见的“语法糖”。这些“语法糖”有时过于好用,导致有人觉得它是C#编译器写死的东西,没有道理可讲的——有点像“黑魔法”。 那么我们可以看看C#这些高级语言功能,是编译器写死的东西(“黑魔法”),还是可以扩展(骚操作)的“鸭 ......
【3.0】基础串联之魔法方法
# 【一】`__init__`方法 > 类实例化会触发 - `__init__`是Python中的一个特殊方法,用于在创建一个对象时进行初始化操作。 - 它是在类实例化(创建对象)时自动调用的。 - `__init__`方法的作用是对新创建的对象进行初始化操作,可以在这个方法中设置对象的初始状态、定 ......
引入代码来源:深入分析markdown-it-quote插件的魔法
markdown-it-quote是一个用于 markdown-it 的插件,支持多种代码围栏功能,让你的代码块显示更为吸引人,并且让后续的读者,通过引用来源,能够进行更加深入的学习,在博客或文章中引入代码块时,尽量提供代码的来源信息。 ......
魔法方法之__getattr__(), __setattr__(), 和 __delattr__
__getattr__ 当访问对象的属性不存在时被自动调用。 1 class MyObject: 2 def __init__(self): 3 self.data = {'name': 'Alice', 'age': 25} 4 self.id=1 5 6 def __getattr__(self ......
魔法方法之__call__
__call__方法详解 1 ''' 2 __call__() 是一个特殊方法,用于使对象可以像函数一样被调用。当我们使用对象名加括号的形式来调用对象时,会调用该对象的 __call__() 方法。 3 4 详解: 5 1. __call__(self, *args, **kwargs) 方法接受任 ......
魔法方法之__contains__()
1 ''' 2 __contains__() 是一个特殊方法,用于定义对象是否包含某个元素的逻辑。它在使用 in 运算符检查成员关系时被调用。 3 4 详解: 5 1. __contains__(self, item) 方法接受一个参数 item,表示要检查的元素。 6 2. 该方法应返回一个布尔值 ......
魔法方法之__iter__(self) && __next__(self)
__iter__ __iter__(self) 是一个特殊方法,用于返回一个迭代器对象,使得自定义的类可以支持迭代操作。 最佳实践: 在自定义类中实现 __iter__() 方法时,应该返回一个迭代器对象,通常是自身的实例。 迭代器对象应该实现 __next__() 方法,用于返回容器中的下一个元素 ......
jupyter Notebook:魔法命令
Jupyter Notebook是一个开源的交互式编程环境,用于创建和共享包含实时代码、文本、图像和可视化输出的文档。 它交互式的编程方式是一大亮点,因为我们在数据分析的过程中,常常是一边分析,一边看分析结果,根据分析结果再调整数据或者分析参数。有了 Jupyter Notebook,代码和运行结果 ......
Python 20个魔法函数
本文将为您详细介绍Python中的20个魔法函数,这些函数能够在代码中释放神奇的力量。让我们一起来了解这些特殊的函数,并提供一些在实际接口自动化工作中的示例代码。魔法函数(Magic Methods),也被称为特殊方法或双下划线方法,是Python中一些特殊命名的函数,它们以双下划线开头和结尾。这些 ......
魔法方法之__getitem__(self, key)、__setitem__(self, key, value) 和 __delitem__(self, key)
1 ''' 2 __getitem__(self, key)、__setitem__(self, key, value) 和 __delitem__(self, key) 是 Python 中的特殊方法,用于定义对对象进行索引操作时的行为。 3 它们分别用于获取、设置和删除对象中的元素 4 1. _ ......
魔法方法__len__
1 ''' 2 __len__() 是一个魔法方法,用于返回对象的长度或元素个数。 3 它通常被用于支持内置函数 len() 的调用,并在自定义的容器类中实现。 4 最佳实践: 5 1. 在容器类中实现 __len__() 方法可以提供对象的长度信息,使其能够像内置容器(如列表、字典等)一样使用。 ......
魔法函数 __repr__() 和 __str__()的区别
1 ''' 2 __repr__() 和 __str__() 都是 Python 中的特殊方法,用于定义对象的字符串表示形式。它们之间的区别如下: 3 1. __repr__(self):返回一个字符串,用于表示对象的“官方”字符串表示形式。这个字符串应该是可以用来重新创建对象的,并且应该尽可能准确 ......
面向对象之魔法方法
什么是魔法方法? Python类中的魔法方法(Magic Methods)是特殊的方法,以双下划线(__)开头和结尾的方法。 这些方法在对象的创建、运算符重载、属性访问等方面提供了特定的行为。 都是内置方法,一般方法命名不建议使用这种格式即双下划线开头和结尾的方法 __init__(self, .. ......
掌握这些写简历投简历的“黑魔法”,告别简历已读不回!
> “哎,我还能找到工作吗?” 这是最近加我微信的好友,问的最多的一句话。 ## 太卷了 最近加我微信的朋友很多,我都很奇怪,最近也没怎么发文章,怎么会有这么多人加我。 大概就是因为太卷了,之前写的就业和接单的文章,被平台推荐了。 最近加我的朋友可以分为两大类:**一类是想接私活赚外快的**(😓汗 ......
ChatGPT「代码解释器」正式开放,图片转视频仅需30秒!十大令人震惊的魔法揭秘
经过超过三个月的等待,ChatGPT「代码解释器」终于全面开放。这是一大波神奇魔法的高潮。 OpenAI的科学家Karpathy对这个强大的代码解释器测试版赞不绝口。他把它比作你的个人数据分析师,可以读取上传的文件、执行代码、生成图表、统计分析等。他预测社区将需要一些时间来充分展示其潜力。 ![]( ......
Python | 魔法方法整理
### 前言: 魔法方法(Magic Method)是Python内置方法,格式为:“`__方法名__`”,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法,可以理解 ......
Excel提取数字-魔法公式
公式: {=-LOOKUP(1,-MID(A1,MIN(FIND(ROW($1:$10)-1,A1&1/17)),ROW($1:$9)))} 说明: ①最外层的大括号表示此公式为数组公式,输入公式时不需要输入大括号{},公式输入后按下键盘:Ctrl+Shift+Enter,即可将公式变为数组公式; ......
P8182 「EZEC-11」雪的魔法 / NOIP 模拟赛 20230706 D 思考--zhengjun
> 引用:这是一道非常棒的思维题,可以说没有用到任何高深的知识点,却极大地考验了做题人的思维能力和创造性。 本题分为两步。 - 根据线性规划对偶或贪心,转化题意。 - 对 $m$ 根号分治,然后分别进行分治。 > $m\le \sqrt{n}$分治比较好想,$m>\sqrt{n}$ 的根号分治比较难 ......
魔法值问题
一、什么是魔法值 魔法值,也叫做魔法数值、魔法数字,通常是指在代码编写时莫名出现的数字,无法直接判断数值代表的含义,必须通过联系代码上下文分析才可以明白,严重降低了代码的可读性。除数字之外,代码中作为key值的常量字符串也被认为是魔法值,尽管其表示含义比数值较为清晰,但是仍然会产生不规范问题。 // ......
Python黑魔法:探秘生成器和迭代器的神奇力量
> 在Python中,生成器和迭代器是实现惰性计算的两种重要工具,它们可以帮助我们更有效地处理数据,特别是在处理大数据集时,可以显著减少内存的使用。接下来,我们将详细介绍这两种工具。 ## 一、迭代器 迭代器是一种特殊的对象,它可以遍历一个集合中的所有元素。任何实现了__iter__()和__nex ......