随笔分类 -  python

摘要:此篇文章仅适用于py3.在py2中,a.fuc(x)中的参数x必须是 类a的实例对象,而py3则可以是任意对象。参考绑定方法和非绑定方法 当一个对象添加了一个方法,并且此方法的第一个参数为self,或者其他任意名称的时候(只要不为空即可),则此参数指代的是某个对象。当此对象调用此方法时,传递的这第一 阅读全文
posted @ 2018-04-07 07:11 扫驴 阅读(284) 评论(0) 推荐(0)
摘要:def add_end(L=[]): L.append('END') print (L) 这个函数我们运行多次, >>> add_end() ['END'] >>> add_end() ['END', 'END'] >>>add_end([7]) [7,'END'] >>> add_end() [' 阅读全文
posted @ 2018-03-30 06:17 扫驴 阅读(800) 评论(0) 推荐(0)
摘要:以下部分引用自https://www.cnblogs.com/Anker/p/3271773.html 首先说明,每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination 阅读全文
posted @ 2018-02-24 21:02 扫驴 阅读(672) 评论(0) 推荐(0)
摘要:以下为转载https://www.cnblogs.com/DswCnblog/p/6126588.html with。。as。。一个使用场景是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。 普通的文件处理如下: 由于文件读写时都有可能产生IOError,一旦出错,后面的f.c 阅读全文
posted @ 2018-02-17 17:50 扫驴 阅读(1441) 评论(1) 推荐(0)
摘要:假设某程序在/root/a/aa.py,在shell,当前pwd为/root,输入./a/aa.py运行py程序,则爱程序的工作目录是/root.而不是程序所在文件夹,os.getcwd()就是查看工作目录的方法。 工作目录有什么意义?目前所知,如果程序中有操作文件的代码,比如open(文件名,'r 阅读全文
posted @ 2018-02-15 09:15 扫驴 阅读(365) 评论(0) 推荐(0)
摘要:什么叫内置模块?我的理解是:python程序是靠解释器解释运行的,所以要运行py程序需要先运行解释器程序,而解释器程序里的导入的模块就是内置模块 阅读全文
posted @ 2018-02-15 02:23 扫驴 阅读(142) 评论(0) 推荐(0)
摘要:1生成器是特殊的迭代器, 2爹带起有个特点是能调用next和iter方法。(py2和py3中略有不同,py2的方法名是__iter__和next(),而py3中的方法名是__iter__和__next__) 3含有iter方法的是可迭代对象,并且该iter方法会返回iter和next方法均具备的迭代 阅读全文
posted @ 2018-02-09 21:54 扫驴 阅读(186) 评论(0) 推荐(0)
摘要:在py2中,如下代码是错的 而在py3中,代码确是正确的 为什么会出现这种情况? 在py2中,print是语句(statement),而在py3中,print是函数。 等号两边的,可以是表达式,可以是函数,表达式有value,函数有返回值。但等号两边不可以为语句。语法错误。以下为相同的语法错误: a 阅读全文
posted @ 2018-02-09 19:03 扫驴 阅读(153) 评论(2) 推荐(0)
摘要:转载自编程派http://codingpy.com/article/why-print-became-a-function-in-python-3/ 原作者:Brett Cannon 原文链接:http://www.snarky.ca/why-print-became-a-function-in-p 阅读全文
posted @ 2018-02-09 17:13 扫驴 阅读(204) 评论(0) 推荐(0)
摘要:1,关于break break是终止最近的循环。 2,在py2中,range函数返回一个列表 3,enumerate() 利用enumerate()函数,可以在每次循环中同时得到下标和元素: S = 'abcdefghijk' for (index,char) in enumerate(S): pr 阅读全文
posted @ 2018-02-05 18:41 扫驴 阅读(206) 评论(1) 推荐(0)
摘要:python解释器在碰到+号运算符时,会调用加号前面的对象的__add__方法 同理,-对应__sub__方法 阅读全文
posted @ 2018-02-05 05:51 扫驴 阅读(172) 评论(0) 推荐(0)
摘要:class属性类似于以上例子中的__metaclass__ 实例.__class__等价于实例的所属类 回过头来补充说明。 继承type类的类就是元类,而我们新创建一个类,__metaclass__可以指定这个类是哪个元类的对象,如果不指定,则默认是type类的对象 更新: 类与类的类,跟实例与类, 阅读全文
posted @ 2018-02-05 03:51 扫驴 阅读(333) 评论(0) 推荐(0)
摘要:可参考vamei的博客和https://www.jianshu.com/p/1e375fb40506 阅读全文
posted @ 2018-02-04 03:26 扫驴 阅读(1911) 评论(0) 推荐(0)
摘要:现在说明一下标记清除:代码运行到上面这块了,此时,我们的本意是想清除掉c和d和e所引用的对象,而保留a和b所引用的对象。但是c和d所引用对象的引用计数都是非零,原来的简单的方法只能清除掉e,c和d所引用对象目前还在内存中。 假设,此时我们预先设定的周期时间到了,此时该标记清除大显身手了。他的任务就是 阅读全文
posted @ 2018-02-04 03:15 扫驴 阅读(4459) 评论(2) 推荐(1)
摘要:由于循环引用的存在,我们在删除了a跟b之后,引用计数是1,这样,现有的垃圾回收机制是永远不可能把她们删除了。他们将永远存在于内存中。 我们当然不能对这种情况置之不理,于是,我们又添加了两种新的回收机制:标记清理,分代回收。这两种机制组合起来的效果笼统的说,我们就是设定了一个周期性任务,周期一到,任务 阅读全文
posted @ 2018-02-04 02:25 扫驴 阅读(216) 评论(0) 推荐(0)
摘要:1 a = [1, 2] 2 b = [a, a] 3 del a 4 print b#思考会不会打印[[1,2],[1,2]] 阅读全文
posted @ 2018-02-02 03:50 扫驴 阅读(190) 评论(0) 推荐(0)
摘要:任何对象,当引用计数变为0的时候都会被立刻清除。 而对象,分为可变对象,和不可变对象,不可变对象有个特点:其内部不包含指向其他对象的引用。而可变对象,比如列表[1,2],他内部包含两个整数对象的引用。也可以说,列表对象[1,2]引用了整数对象1和整数对象2 所以,根据以上特点,不可变对象不可能产生循 阅读全文
posted @ 2018-02-02 03:26 扫驴 阅读(131) 评论(0) 推荐(0)
摘要:d = {key1 : value1, key2 : value2 } 键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 访问字典中的键 dict1 = { 'abc': 456 } print dict1['abc'] 清空字典所有条目,删除字典中的键 阅读全文
posted @ 2018-01-26 18:47 扫驴 阅读(158) 评论(0) 推荐(0)
摘要:这个问题得深入python源码才能看。 2.关于os.path和posixpath 以下一段话引用自某网友: 我们可以从sys.modules中找到当前已经加载的模块,sys.modules是一个字典,内部包含模块名与模块对象的映射,该字典决定了导入模块时是否需要重新导入。 最后一句话很关键,该字典 阅读全文
posted @ 2018-01-26 18:29 扫驴 阅读(369) 评论(0) 推荐(0)
摘要:拷贝:在内存中复制一个对象,与引用不同 有没有一种方法,可以完全的拷贝对象呢?这叫做深拷贝 阅读全文
posted @ 2018-01-26 17:56 扫驴 阅读(139) 评论(0) 推荐(0)