###概述GC作为现代编程语言的自动内存管理机制,专注于两件事:1.找到内存中无用的垃圾资源2.清除这些垃圾并把内存让出来给其他对象使用。在Python中,它在每个对象中保持了一个计数器,用于记录指向该对象的的引用的个数。一旦这个计数器为0时,则立即回收该对象,对象占用的内存空间将被释放。引用计数我们可以利用简单的变量引用和销毁窥见引用计数过程。增加引用计数增加引用计数的方式多种,即对象进行引用,那么计数器都会+1#创建第一个引用a=3#用其他变量名引用b
系统 2019-09-27 17:56:09 1962
在安装好Python2和Python3后,不做任何操作,想要在cmd下同时使用pip命令是不行的。现在,打开Python3的安装目录,把Python.exe改成Python3.exe此时打开cmd,输入Python,得知是Python2版本输入Python3,得知是Python3的版本使用pip2,对应的python2的版本,当然这个2不是随便写的,是scripts里面有pip2.exe使用pip3,却报错了Fatalerrorinlauncher:Una
系统 2019-09-27 17:55:47 1962
崩溃-ing西安已经下了两周雨了,大家以为到头了么?不仅仅才是开始,未来的一个月还要接着下,简直崩溃啊!昨天被逼着去加班,所以早期发了一篇娱乐帖,还好没有掉粉…要谢谢各位的包容啊,哈哈。学英语广告最近也许是刚开学的原因,不管是公众号,还是刷抖音,导出都能看到关于学英语、背单词的广告。不知道现在学生们背单词买的什么辅导材料。反正我们上学那会,**《星火阅读》**特别的火。记得当时随书还送一个红色的塑料膜。书中英语单词是红色的其他文字是黑色的。背单词的时候先把
系统 2019-09-27 17:55:44 1962
一、I/O模型IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。同步(synchronous)IO和异步(asynchronous)IO,阻塞(blocking)IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronousI
系统 2019-09-27 17:55:10 1962
两种赋值方法最后的结果是不一样的1.切片处理:把全新的列表赋予新变量了,新旧变量操作各不影响语法:A=B[:]例:Question:[MCQ]Whatarethefinalvaluesof‘a’and‘b’inthecodebelow?>>>a=[4,5,6]>>>b=a[:]>>>b[0]=1>>>a[2]=31.a=[1,5,3]b=[1,5,3]2.a=[4,5,6]b=[1,5,6]3.a=[4,5,3]b=[4,5,6]4.a=[4,5,3]b=
系统 2019-09-27 17:54:49 1962
解法:1、n代表的是左括号和右括号的个数,最后生成的字符串的长度为2n,首先想到的就是枚举的方法,假设有2n的数组,每一个格子都有两种情况,填做括号还是右括号。2、很明显上面的方法是不符合常理的,因为做括号和右括号都是有限制,当n为3的时候,不会出现((((((的情况,所以当我们进行递归的时候,就需要进行判断,当左括号用完的时候就要停止,称为剪枝。3、动态规划解法,当看到有和没有,放和不放的时候,可以考虑动态规划的解法。这里有个leetcode上面的讲解动
系统 2019-09-27 17:53:30 1962
set集合无序可变由不同元素组成其元素必须为可哈希的类型(通俗来说不可变类型)集合的两种定义方式使用{}Eg:{1,2,3,4,5}使用set(可迭代类型)函数Eg:set("hello")*使用frozenset()函数创建不可变集合基本函数s=set("hello")"""添加一个元素到集合中"""s.add('b')"""使用可迭代对象更新集合"""s.update([1,2,3,4])"""清空集合"""s.clear()"""拷贝集合(浅拷贝)返
系统 2019-09-27 17:51:08 1962
函数:endswith()作用:判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型相关函数:判断字符串开头startswith()一、函数说明语法:string.endswith(str,beg=[0,end=len(string)])string[beg:end].endswith(str)参数说明:string:被检测的字符串str:指定的字符或者子字符串(可以使用元组,会逐一匹配)beg:设置字符串检测的起始位置(可选,从左数起)end:设置
系统 2019-09-27 17:50:51 1962
Python做后端开发的优势1、Python开发人员的背景丰富多彩,阵营规模很大,这直接导致了Python的各种lib比Ruby多很多很多很多2、和Ruby相反,Python的哲学是“做一件事情有且只有一种方法”(Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.)。Ruby的信徒会觉得这样非常boring,但是我觉得这一点减轻了人们在开发时的认知负担和选择成本,对于提高开发效率是很有帮助的
系统 2019-09-27 17:50:45 1962
简单生成器有许多优点。生成器除了能够用更自然的方法表达一类问题的流程之外,还极大地改善了许多效率不足之处。在Python中,函数调用代价不菲;除其它因素外,还要花一段时间解决函数参数列表(除了其它的事情外,还要分析位置参数和缺省参数)。初始化框架对象还要采取一些建立步骤(据TimPeters在comp.lang.python上所说,有100多行C语言程序;我自己还没检查Python源代码呢)。与此相反,恢复一个生成器就相当省力;参数已经解析完了,而且框架对
系统 2019-09-27 17:49:57 1962