1、内部函数,顾名思义,是函数内部定义的函数,其作用是封装逻辑,使函数逻辑更为清晰。defouter():inner():业务逻辑returninner2、为何returninner而不是returninner()呢?初学者可能都有此一问,我们知道,运行一个函数就是:func(),然后func会得出结果。同理,如果returninner()就是要返回inner()的运算结果,但是innner()函数没有返回值,此时returninner()只能得到None
系统 2019-09-27 17:52:40 2167
感觉这种理解有问题,举个例子来说。classDog(object):name='dog'definit(self):self.age=18d1=Dog()d2=Dog()这里有两个实例d1,d2吧。d1.name#输出dogd2.name#输出dogd1.name='abc'd1.name#输出abcd2.name#输出dogDog.name#输出dog原因是d1.name输出dog不是因为这个实例共享了类属性,而是因为这个实例没有dog属性,所以pyth
系统 2019-09-27 17:51:12 2167
Python做后端开发的优势1、Python开发人员的背景丰富多彩,阵营规模很大,这直接导致了Python的各种lib比Ruby多很多很多很多2、和Ruby相反,Python的哲学是“做一件事情有且只有一种方法”(Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.)。Ruby的信徒会觉得这样非常boring,但是我觉得这一点减轻了人们在开发时的认知负担和选择成本,对于提高开发效率是很有帮助的
系统 2019-09-27 17:50:45 2167
Mock是什么Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西。准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为。简单的说,mock库用于如下的场景:假设你开发的项目叫a,里面包含了一个模块b,模块b中的一个函数c(也就是a.b.c)在工作的时候需要调用发送请求给特定的服务器来得到一个JSON返回值,然后根据这个返回值来做处理
系统 2019-09-27 17:50:41 2167
蒙特卡罗方法是一种统计模拟方法,由冯・诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确。下面我们将用python实现蒙特卡罗方法。1.首先我们做一个简单的圆周率的近似计算,在这个过程中我们要用到随机数,因此需要先使用importnumpyasnp导入numpy库。2.代码实现:importnumpyasnptotal=8000000count=0foriinrange(total):x=np.random.rand()
系统 2019-09-27 17:50:01 2167
爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能三种爬虫方式的对比。抓取方式性能使用难度正则表达式快困难Lxml快简单BeautifulSoup慢简单这样一比较我我选择了Lxml(xpath)的方式了,虽然有三种方式,但肯定是要选择最好的方式来爬虫,这个道理大家都懂,另外有兴趣的朋友也可以去了解另外两种爬虫方式!好了现在来讲讲xpath由于Xpath属于lxml模块
系统 2019-09-27 17:49:52 2167
defadd(x,y):returnx+yadd=lambdax,y:x+yprint(add(1,2))dic={'k1':10,'k2':100,'k3':30}deffunc(key):returndic[key]print(max(dic,key=func))#根据返回值判断最大值,返回值最大的那个参数是结果print(max(dic,key=lambdakey:dic[key]))max([1,2,3,4,5,-6,-7],key=abs)ret
系统 2019-09-27 17:48:36 2167
Python实现整数的加减乘除的计算器,不包含括号,除法取整:importredefrun():string=input()strls=re.findall('\d+|\+|\-|\*|\/',string)i=0while(i
系统 2019-09-27 17:48:11 2167
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:1.在没有权限的情况下安装新套件2.不同应用可以使用不同的套件版本3.套件升级不影响其他应用安装复制代码代码如下:sudoapt-getinstallpython-virtualenv使用方法[code]virtualenv[虚拟环境名称]如,创建**ENV**的虚拟环境复制代码代码如下:virtualenvENV默认情况下,虚拟环境会依赖系统环境中的sitep
系统 2019-09-27 17:47:21 2167
直接交换2个数字的位置Python提供了一种直观的方式在一行代码中赋值和交换(变量值)。如下所示:x,y=10,20print(x,y)x,y=y,xprint(x,y)#1(10,20)#2(20,10)在上面代码中,赋值的右侧形成了一个新元组,而左侧则立刻将该(未被引用的)元组解包到名称和。待赋值完成后,新元组就变成了未被引用状态,并且被标为可被垃圾回收,最终也就发生了数字交换。链接比较操作符比较运算符的聚合是另一种有时用起来很顺手的技巧。n=10re
系统 2019-09-27 17:46:28 2167