numpy.std()求标准差的时候默认是除以n的,即是有偏的,np.std无偏样本标准差方式为加入参数ddof=1;pandas.std()默认是除以n-1的,即是无偏的,如果想和numpy.std()一样有偏,需要加上参数ddof=0,即pandas.std(ddof=0);DataFrame的describe()中就包含有std();demo:>>>aarray([0,1,2,3,4,5,6,7,8,9])>>>np.std(a,ddof=1)3.0
系统 2019-09-27 17:54:58 1971
优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据结构的对象,直接赋值使用
系统 2019-09-27 17:54:58 1971
Python函数编程——闭包和装饰器一、闭包关于闭包,即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数)。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内
系统 2019-09-27 17:54:51 1971
vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当vim编译时带有+python特性时就能使用python2.x编写插件,+python3则支持python3.x,可以使用vim--version来查看vim的编译特性。要使用python接口,可以用:hpython来查看vim提供的帮助文档,本文做一个简单的介绍。我们都知道在vim里可以执行bash命令,只需要:!c
系统 2019-09-27 17:54:51 1971
简单来说python的内存管理机制有三种1)引用计数2)垃圾回收3)内存池接下来我们来详细讲解这三种管理机制1,引用计数:引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用时其引用计数增加1,当其不再被引用时引用计数减1,当引用计数等于0的时候,对象就被删除了。2,垃圾回收(这是一个很重要知识点):①引用计数引用计数也是一种垃圾回收机制,而且是一种最直观,最简单的垃圾回收技术。在Python中每一个对象的核心就是一个结构体PyObject,
系统 2019-09-27 17:54:17 1971
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码!#-*-coding:utf-8-*importreimportosimporturllibimporturllib2frombs4importBeautifulSoupdefcraw(url,page):html1=urllib2.urlopen(url).read(
系统 2019-09-27 17:53:53 1971
题目描述Giventherootnodeofabinarysearchtree,returnthesumofvaluesofallnodeswithvaluebetweenLandR(inclusive).Thebinarysearchtreeisguaranteedtohaveuniquevalues.Example1:Input:root=[10,5,15,3,7,null,18],L=7,R=15Output:32Example2:Input:roo
系统 2019-09-27 17:53:43 1971
Python面向对象编程——封装从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子。照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的。一、先看如何隐藏在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式:classA:__N=0#类的数据属性就应该是共享的,但是语法上是可以把类的
系统 2019-09-27 17:53:36 1971
在Python普通字符串中在Python中,我们用'\'来转义某些普通字符,使其成为特殊字符,比如In[1]:print('abc\ndef')#'\n'具有换行的作用abcdefgIn[2]:print('abc\tdef')#'\t'具有制位符的作用abcdefg我们还可以用'\'来转义特殊字符,使其成为普通字符,比如In[3]:print('abc\\tdef')#使'\'成为一个普通的字符,没有转义作用abc\tdefIn[4]:print('ab
系统 2019-09-27 17:53:25 1971
实验目的:用socket模拟一个微型的web服务器,当py脚本run起后,实微型webserver架起了,然后用本地浏览器访问127.0.0.1:8080(webserver的ip_port)时web服务器就会将网页内容传给浏览器,实现网页浏览.sw+sys:python3.7.2+windows1064bit本地准备的server端网页为下载的hao123主页(我已上载并上传,点击这里)通过这个实验让我学到了:1.当get请求一个主页时,要完整的显示一个
系统 2019-09-27 17:53:23 1971
列表推导与生成器表达式当我们创建了一个列表的时候,就创建了一个可以迭代的对象:复制代码代码如下:>>>squares=[n*nforninrange(3)]>>>foriinsquares:printi014这种创建列表的操作很常见,称为列表推导。但是像列表这样的迭代器,比如str、file等,虽然用起来很方便,但有一点,它们是储存在内存中的,如果值很大,会很麻烦。而生成器表达式不同,它执行的计算与列表包含相同,但会迭代的生成结果。它的语法与列表推导一样,
系统 2019-09-27 17:53:14 1971
函数的作用域python中的作用域分4种情况:L:local,局部作用域,即函数中定义的变量;E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;G:globa,全局变量,就是模块级别定义的变量;B:built-in,系统固定模块里面的变量,比如int,bytearray等。搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB。local和enclos
系统 2019-09-27 17:53:09 1971
前言位运算的性能大家想必是清楚的,效率绝对高。相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算。但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂。不过,在面试的过程中,在手写代码过程中,写出一两个位运算的代码,还会让面试官眼前一亮的。位运算常用的运算符包括&(按位与),|(按位或),~(按位非),^(按位异或),<<(有符号左移位),>>(有符号右移位)。下面用几个例子说明其应用,希望对你有所启发。1、判断奇数还是偶数通常判
系统 2019-09-27 17:53:07 1971
本文实例讲述了Python中的装饰器用法。分享给大家供大家参考。具体分析如下:这里还是先由stackoverflow上面的一个问题引起吧,如果使用如下的代码:复制代码代码如下:@makebold@makeitalicdefsay():return"Hello"打印出如下的输出:Hello你会怎么做?最后给出的答案是:复制代码代码如下:defmakebold(fn):defwrapped():return""+fn()+""returnwrappeddefm
系统 2019-09-27 17:53:06 1971
MongoDB:非关系型数据库文件管理阶段:优点:可以长期保存存储大量数据使用简单缺点:数据一致性差数据大的时候,查找修改不便随着时间增长,冗余度大数据库管理阶段:优点:降低冗余度提高增删改查效率易扩展方便调用和自动化处理缺点:上手相对复杂数据:能够输入到计算机中,并被识别处理的信息集合数据结构:计算机存储、组织数据的方式;数据库:按照一定数据结构存储管理数据的仓库。在数据库管理系统管理和控制下,在一定介质上的数据集合数据库管理系统:管理数据库的软件,用于
系统 2019-09-27 17:52:59 1971