先来说一说HTTP的异常处理问题。当urlopen不能够处理一个response时,产生urlError。不过通常的PythonAPIs异常如ValueError,TypeError等也会同时产生。HTTPError是urlError的子类,通常在特定HTTPURLs中产生。1.URLError通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不存在的情况下产生。这种情况下,异常同样会带有"reason"属性,它是一个tuple(可以
系统 2019-09-27 17:54:51 2077
作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article一、nosenose是一个第三方单元测试框架,它完全兼容unittest,并且号称是一个更好用的测试框架。那么nose除了具备unittest的所有功能外,还具有哪些优势呢?1.1用例编写用例的编写方式除了编写继承于unittest.TestCase的测试类外,还可以编
系统 2019-09-27 17:54:38 2077
什么是可变/不可变对象不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。
系统 2019-09-27 17:54:37 2077
迭代器迭代式访问元素的一种方式,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。常见的字符串,列表或元组对象都可用于创建迭代器:>>>list=[1,2,3,4,5]>>>it=iter(list)>>>print(next(it))1>>>print(next(it))2迭代器对象可以使用常规for语句进行遍历:list=[
系统 2019-09-27 17:54:17 2077
环境:编辑工具:浏览器:有问题可以联系qq:1776376537安装xlrd安装DDT一分析1目录结构2导入包二代码importxlrdclassExcelUtil():def__init__(self,excelPath,sheetName="Sheet1"):self.data=xlrd.open_workbook(excelPath)self.table=self.data.sheet_by_name(sheetName)#获取第一行作为key值se
系统 2019-09-27 17:54:09 2077
Python面向对象编程——总结面向对象的优点一、从代码级别看面向对象1、在没有学习类这个概念时,数据与功能是分离的defexc1(host,port,db,charset):conn=connect(host,port,db,charset)conn.execute(sql)returnxxxdefexc2(host,port,db,charset,proc_name)conn=connect(host,port,db,charset)conn.call
系统 2019-09-27 17:53:53 2077
#使用StandardScaler进行数据预处理importnumpyimportmatplotlib.pyplotaspltfromsklearn.datasetsimportmake_blobsX,y=make_blobs(n_samples=40,centers=2,random_state=50,cluster_std=2)plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.cool)plt.show()#导入Sta
系统 2019-09-27 17:52:41 2077
上面我们学习了RDD如何转换,即一个RDD转换成另外一个RDD,但是转换完成之后并没有立刻执行,仅仅是记住了数据集的逻辑操作,只有当执行了Action动作之后才会真正触发Spark作业,进行算子的计算执行操作有:reduce(func)collect()count()first()take(n)takeSample(withReplacement,num,[seed])takeOrdered(n,[ordering])saveAsTextFile(path
系统 2019-09-27 17:52:33 2077
yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`
系统 2019-09-27 17:52:18 2077
Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号,如下:tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5,6)特别注意:1、元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义tup1=(50,)2、元组中的元素值使不允许修改的,但可以对元组进行连接组合tup1=(12,34.56)tup2=('abc','xyz')tu
系统 2019-09-27 17:52:18 2077