摘要:
元类是什么 由于python中一切皆对象,所有类实际上也是一个个对象。 而产生类的类,就叫元类,也就是说元类的实例化对象就是类 type是内置的一个元类,所有类(包括type本身)都是由type实例化产生。而继承type的自创类,也叫元类 如何找元类 class的底层原理分析 class的底层原理其 阅读全文
摘要:
闭包函数 什么是闭包? 我对闭包的理解就是,将函数与一个固定参数封闭并且打包成一个包子 包子的不同的馅儿就像是不同的固定参数,函数就像是包子皮,每种不同的固定参数和同样的包子皮,就包成了肉包菜包梅干菜包。 闭包函数的应用 这里以一个小爬虫脚本为例 当我写好爬虫的闭包函数时,我只需要将含有固定参数(这 阅读全文
摘要:
leetcode上的一道题为我打开了时间回溯算法的大门: 时间回溯算法之全排列 题目 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 来源: 阅读全文
摘要:
前言 原博文: 讲述了诸多python技巧,我才读少许就觉得对我这个python小白代码的优化受益匪浅。 美中不足的是只有代码,而且是python2的,其中有些语法需要相应自己转换到python3的版本,并且代码的具体意义需要自己花功夫去理解,但理解了之后你就会和我一样感叹这些技巧的精妙。 这篇博文 阅读全文
摘要:
求解前K个高频元素 题目描述: 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 来源:力扣(LeetCode) 链接:h 阅读全文
摘要:
罗马数字转整数功能的实现 题目 思路 拿到这道题时,我首先想的是建立一个roman数列,里面从小到大保存着所有的罗马字符,同时建立一个字典从小到大保存着罗马字符以及其对应的数量大小。如下所示: 解题思路则是,将拿到的罗马数字用for循环取值,一次取两个。若是取到的第一个字符比第二个字符小,则加上第二 阅读全文
摘要:
粗暴解法 首先我拿到这个题目的思路就是分两个不同功能的方法。 一个负责检查数字是否有效并且如果有效的话输出其反转后的数字,无效的话输出none,并且输出一个code,code的值表示了这个数的检查结果。 检查功能代码如下: 这个功能的实现还是很粗暴的,简单地将所有有效数字储存在active_nums 阅读全文