很多时候,我们需要对已经实现的功能进行扩展,即增加新的功能,那么,最容易想到的就是就是对原有功能进行修改,这个时候免不了要修改原始代码,但面向对象编程的一个思想是开放封闭原则,即: 开放:对扩展开发 封闭:对已实现的功能模块 已实现的功能可以被扩展,不能被修改 需求来了 现在有一个函数 def do(msg): print("do %s..." % msg) 现在要... 作者:baidu_35085676 发表于 2018/04/10 18:20:13 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79885374 阅读:158 继续阅读 >>


李余通 18/04/10 18:20:13
本文需要您有Python变量查找的知识,如果您不知道,可以参考上篇博文Python变量查找LEGB原则 构成闭包的条件 外函数中定义了内函数 内函数使用了外函数的变量 外函数的返回值是内函数的引用 以下是一个简单的闭包的定义 def outer(): b = 1 def inner(): #外部函数内定义了内部函数 print(b) #内部函数使用... 作者:baidu_35085676 发表于 2018/04/08 21:02:36 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79857887 阅读:89 继续阅读 >>


李余通 18/04/08 21:02:36
实际上很简单,贴上方法。 首先,你应该有.desktop文件,这个文件相当于win的快捷方式,通过这个可以找到安装目录。 下载最新版本的.tar.gz包 解压。譬如我的在/opt/中安装着,那么tar zxf idea.tar.gz -C /opt/ 把原始的目录重命名,之后把刚解压的修改为新的原始的名字。 启动idea,弹框选择从老版本导入配置 没问题后就可以把老版本的删除了 作者:baidu_35085676 发表于 2018/04/08 20:05:14 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79856983 阅读:168 继续阅读 >>


李余通 18/04/08 20:05:14
两种类型 首先要知道Python的基本数据类型分为2种,可变以及不可变类型。 可变类型list dict set 不可变类型 number tuple string 变量访问 LEGB L-Local(function);函数内的名字空间 E-Enclosing function locals;外部嵌套函数的名字空间(例如closure) G-Global(module);函数定... 作者:baidu_35085676 发表于 2018/04/08 14:39:42 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79851251 阅读:300 继续阅读 >>


李余通 18/04/08 14:39:42
这篇博文比较简单,就不分那么多的层次。 实现了__call__方法的对象,相当于重载了(),可以实现调用功能。 eg class A(): def __call__(self,name): print("%s is running!" % name) >>> a = A() >>> a("people") people is ... 作者:baidu_35085676 发表于 2018/04/01 21:52:52 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79782284 继续阅读 >>


李余通 18/04/01 21:52:52
python中的类 type这个方法有什么用? 首先纠正一个错误,type并非一个方法,而是一个类(扎心了老铁)。 >>> type(dict) <class 'type'> >>> type(type) <class 'type'> >>> type(object) <class 'type'&am 作者:baidu_35085676 发表于 2018/03/31 21:16:43 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79773259 继续阅读 >>


李余通 18/03/31 21:16:43
循环 这个比较好像,不停的去读文件,读到就打印出来 f = open('a','r') print(f.read(),end='') while True: try: print(f.read(),end='') except KeyboardInterrupt: f.close() break CPU占用100%,不是一个... 作者:baidu_35085676 发表于 2018/03/28 22:29:31 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79714876 阅读:966 评论:2 查看评论 继续阅读 >>


李余通 18/03/28 22:29:31
背景 出处:2018今日头条实习生笔试题4 原因是我的代码通过率只有30%提示时间超限,但是没时间去修改了,所以很不甘心,写出优化后的代码。 magic操作 给一个包含n个元素的集合a和包含m个元素的集合b,定义一magic种操作,从一个集合中取出一个元素放入另一个集合中,使得两个集合的平均值都变大了。问一共可以进行多少次magic操作。 分析 要达到magic操作,那么取出的... 作者:baidu_35085676 发表于 2018/03/25 14:23:25 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79686341 阅读:209 继续阅读 >>


李余通 18/03/25 14:23:25
最长递增子序列的数量 出处:今日头条内推一面编程题 题目:有一个无序数组,现需要你找到最长的递增的子序列的个数。 eg1: 1 2 4 3 5 最长的递增子序列是 1 2 4 5 和 1 2 3 5,所以应输出2。 eg2:1 1 1 1 1 输出5,即是5个长度为1 的 1思路我们从数组下标为0开始,0下标时,包含当前位置的最大长度只能是1,并且次数是1,下标为1时,包含1下标的最长递 作者:baidu_35085676 发表于 2018/03/25 11:00:43 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79684768 阅读:385 继续阅读 >>


李余通 18/03/25 11:00:43
基础协程实现方法 协程的实现主要靠的是yield关键字,yield的作用 挂起当前函数,将yield后面的值当做返回给调用生成器的地方;能够在唤醒生成器函数的时候,回复代码继续紧接着从上次执行的地方执行(可以接受额外的参数) def func1(n): for i in range(n): print('func1:before yield,i=%d' % i) ... 作者:baidu_35085676 发表于 2018/03/20 14:33:48 原文链接 https://blog.csdn.net/baidu_35085676/article/details/79625311 阅读:382 继续阅读 >>


李余通 18/03/20 14:33:48