Python语言有一个比较Pythonic的功能,也是一个具有很强大功能的特性,那就是装饰器。1.Python装饰器的原理Python中的装饰器是通过利用了函数特性的闭包实现的,所以我们需要了解Python闭包的原理,以及函数的功能特性。1.1函数特性函数作为变量传递defadd(x):returnx+1a=add(5)print(a)#运行结果:6函数作为参数传递defadd(x):returnx+1defexecute(f):returnf(3)pri
系统 2019-09-27 17:54:59 1794
优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据结构的对象,直接赋值使用
系统 2019-09-27 17:54:58 1794
前面说到了urllib2的简单入门,下面整理了一部分urllib2的使用细节。1.Proxy的设置urllib2默认会使用环境变量http_proxy来设置HTTPProxy。如果想在程序中明确控制Proxy而不受环境变量的影响,可以使用代理。新建test14来实现一个简单的代理Demo:复制代码代码如下:importurllib2enable_proxy=Trueproxy_handler=urllib2.ProxyHandler({"http":'ht
系统 2019-09-27 17:54:48 1794
#!/usr/bin/python#coding:utf-8importnumpyasnpa=np.array([1,2,3])b=np.array([[1,2,3],[4,5,6],[7,8,9]])#shape是维度,dtype是元素的类型printa.shapeprinta.dtype#使用函数生成等差数列数组x1=np.arange(1,11,2)x2=np.linspace(1,9,5)printx1,x2#求数组中的最大值和最小值printnp
系统 2019-09-27 17:54:45 1794
什么是可变/不可变对象不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。
系统 2019-09-27 17:54:37 1794
视频地址:https://www.icourse163.org/course/NJU-10015710051.1python简介:历史,特点,应用1.2第一个python程序:1.输出:print(字符串)print(变量)2.输入:varibale=input("message":)返回的是字符串str类型如需其它类型,可使用int(),float()等函数进行类型转换3.注释:#4.缩进:具有相同缩进的程序语句构成同一语句块1.3python语法基础1
系统 2019-09-27 17:54:30 1794
在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。进程池进程池(ProcessPool)可以创建多个进程。这些进程就像是随时待命的士兵,准备执行任务(程序)。一个进程池中可以容纳多个待命的士兵。“三个进程的进程池”比如下面的程序:复制代码代码如下:importmultiprocessingasmuldeff(x):returnx**2pool=mul.Pool(5)r
系统 2019-09-27 17:53:52 1794
我从StephenA.Goss那读到关于了《Python3正在毁灭Python》。这篇文章有不少精彩的论点,但我却并不认为Python3是在毁灭Python,也不认为整个局面对Python一点也不利。但是正如那些比较俗气的格言所说,也许每一次危机也意味着一次机遇。也许Python3能振兴Python。显然,麻烦的不仅仅是Python2到Python3的移植。时间不再是2005年了,年轻的程序员不再对Python的哪一个版本如此的激动了。不错,现在市场上有很
系统 2019-09-27 17:53:46 1794
表数据超过百万级别时使用pandas读取数据速度过慢,如果仍然想用pandas读取,可以通过多进程提高效率。同时可以将常用数据保存为pkl文件,以便后续使用。@主要代码实现#按照表中的某字段将表划分为比较均匀的多个子集#本例中需要读取的表中包含了城市字段,#且涉及的城市包含了全国大部分城市,数据分布较为均匀,因此制作了一张省份城市配置表,将数据划分#读取省份-城市配置表,获取城市列表defget_division_list(db_connect,divis
系统 2019-09-27 17:53:46 1794
divmod(a,b)函数中文说明:divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数返回结果类型为tuple参数:a,b可以为数字(包括复数)版本:在python2.3版本之前不允许处理复数,这个大家要注意一下英文说明:Taketwo(noncomplex)numbersasargumentsandreturnapairofnumbersconsistingoftheirquotientandremainderwhenusinglon
系统 2019-09-27 17:53:37 1794