2018年9月19日

卡特兰数以及其应用

摘要: 一、一个关于找零的经典问题 这个问题换而言之就是,服务过的持50的客户数量一定要大于等于持100的。解决的思路大致如下: 其实上面的解法本质就是卡特兰数: 所谓的卡特兰数就是满足下面式子: 卡特兰数的前几项是1, 1, 2, 5, 14, 42, 132, 429, 1430 二、括号匹配问题 显然 阅读全文

posted @ 2018-09-19 22:49 哟,写bug呢?? 阅读(395) 评论(0) 推荐(0) 编辑

2018年9月13日

python 简单计算器

摘要: 一、题目 二、解题思路 三、代码 最后运行结果如下:结果和eval完全一样 阅读全文

posted @ 2018-09-13 22:33 哟,写bug呢?? 阅读(903) 评论(0) 推荐(0) 编辑

2018年9月10日

双指针算法

摘要: 1、无重复最长子字符串 题目: 解法: 2、盛最多水的容器 解法: 3、三数之和 对于寻找两个数的和,我们通常采用首尾双指针的处理方法,即对于排序后的数组(升序)而言,分别从头尾向中间靠拢,当头尾指针对应元素之和大于目标值时,我们需要缩小元素和,即尾指针前移。当元素之和小于目标值时,我们需要增大元素 阅读全文

posted @ 2018-09-10 18:23 哟,写bug呢?? 阅读(1031) 评论(0) 推荐(0) 编辑

2018年9月3日

python set()去重的底层原理

摘要: 一、set去重简单实例 我们知道对于一个列表最简单的去重方法就是直接调用set函数,利用集合元素的唯一性,就可以做到去重。但是,这个底层原理究竟是什么样的却一直半解。 且看下面剖析 二、重新set实现机制 从上面可以看出,set方法就是去调用hash方法,然后根据哈希值一不一样就行去重判断,但是事实 阅读全文

posted @ 2018-09-03 20:12 哟,写bug呢?? 阅读(12722) 评论(2) 推荐(2) 编辑

python实现单例模式总结

摘要: 一、什么是单例模式 二、用类装饰器实现单例模式 三、使用__new__ 四、使用元类 待补充,研究中 阅读全文

posted @ 2018-09-03 17:10 哟,写bug呢?? 阅读(387) 评论(0) 推荐(0) 编辑

2018年8月31日

__str__和__repr的区别

摘要: __str__ 当你打印一个对象的时候 触发__str__ 当你使用%s格式化的时候 触发__str__ str强转数据类型的时候 触发__str__ __repr__ repr是str的备胎 有__str__的时候执行__str__,没有实现__str__的时候,执行__repr__ repr(obj)内置函数对应的结果是 __repr__的返回值 当你使用%r格式化的时候 触发__rep... 阅读全文

posted @ 2018-08-31 19:26 哟,写bug呢?? 阅读(138) 评论(0) 推荐(0) 编辑

python反射详解

摘要: 一、什么是反射 可使用反射的地方: getattr(核心) 判断类、对象或者模块中是否有相应的属性或方法。用法:getattr(obj,str,default=None) 判断obj中是否有str属性,有就返回,没有时有传入第三参数就返回第三参数,没有就报错。 settattr 设置属性。第三参数为 阅读全文

posted @ 2018-08-31 19:14 哟,写bug呢?? 阅读(350) 评论(0) 推荐(0) 编辑

python isinstance和issubclass区别

摘要: 一、issubclass 判断两个类是否是同个类,或者有继承关系。只能判断类不能判断实例 二、isinstance 用于判断一个实例是否为一个类或者子类的实例。 阅读全文

posted @ 2018-08-31 17:41 哟,写bug呢?? 阅读(574) 评论(0) 推荐(0) 编辑

2018年8月30日

优雅你的python代码

摘要: 一、优雅你的代码 1、为多个变量赋值 普通方法: 优雅方法: 2、序列解包 普通方法: 优雅方法: 3、判断语句 普通方法: 优雅方法: 4、判断是否为多个取值之一 普通方法: 优雅方法: 优雅方法进阶版: 终极版: 5、判断是否为非空 普通方法: 优雅方法: 6、判断诸多条件是否有一个成立 普通方 阅读全文

posted @ 2018-08-30 22:00 哟,写bug呢?? 阅读(773) 评论(1) 推荐(1) 编辑

2018年8月22日

线程详解

摘要: 一、线程引入 os引入进程的目的是:使多个程序能并发执行,以提高资源利用率和系统吞吐量 os引入线程对的目的是:是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性 进程的两个基本属性:1、是一个可独立拥有资源的单位 2、是一个可独立调度和分配的单位。 线程的属性:作为调度和分配的基本 阅读全文

posted @ 2018-08-22 18:29 哟,写bug呢?? 阅读(144) 评论(0) 推荐(0) 编辑

导航