无论你是否清楚这个事实,Python实际上已经不是一门年轻的编程语言了。虽然它也不如其它一些语言那么年长,但它仍然比大部分人所想的要更老一些。它第一次发布的时间是在1991年,虽然这些年它也经历了相当大的改变,但它现在的用处跟当时并没有什么差别。实际上,这只是它最近这些年变得流行的原因之一:它是一个面向企业和第一流项目的、基于生产的语言,而且它有着长久的历史。它可以被用做几乎任何事情,这也是它被认为是“多功能”的原因。你既可以创建一个树莓派应用,又可以用P
系统 2019-09-27 17:53:06 2210
requests库的安装:ubuntu和windows下安装requests库:pipinstallrequestsrequests的介绍:Requests是一个优雅而简单的PythonHTTP库requests的文档:中文版:http://cn.python-requests.org/zh_CN/latest/英文版:http://docs.python-requests.org/en/master/api/requests的基本用法:Get请求:(一)
系统 2019-09-27 17:52:36 2210
基础元素学习一门编程语言的时候,我最先考虑的事情就是如何操作值,值(value)在程序组可以是一个数字1,2,3,4,字符'hello,word'.我们使用变量来保存这些值。又把变量保存的值成为对象,计算机会给变量的对象和变量分配内存空间。python使用的内存分配方式成为引用语义或者对象语义,而像c语言使用的时值语义。接下来具体说明一下这两种语义的区别。值语义:所谓值语义是指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响。
系统 2019-09-27 17:51:31 2210
一、如何抛出异常并且捕获异常二、常用的Python标准库有哪些,并且说明其作用三、描述深拷贝和浅拷贝的区别四、__init__和__new__的区别__new__会优先调用且有返回值__init__没有返回值五、什么是解释型语言,什么是编译型语言六、Match和search的区别Match:只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,返回nonesearch:会扫描整个字符串并返回第一个成功的匹配七、用Python匹配HTMLtag的时
系统 2019-09-27 17:51:31 2210
打开excel文件读取数据data=xlrd.open_workbook("excelFile.xls")读取工作表table=data.sheets()[0]#通过索引顺序获取table=data.sheet_by_index(0)#通过索引顺序获取table=data.sheet_by_name(u'Sheet1')#通过名称获取获取整行和整列的值(数组)table.row_values(i)#获取整行值table.col_values(i)#获取整列
系统 2019-09-27 17:51:17 2210
创建类Python类使用class关键字来创建。简单的类的声明可以是关键字后紧跟类名:复制代码代码如下:classClassName(bases):'classdocumentationstring'#'类文档字符串'class_suite#类体实例化通过类名后跟一对圆括号实例化一个类复制代码代码如下:mc=MyClass()#instantiateclass初始化类‘int()'构造器def__int__(self):pass注意:self类似Java的
系统 2019-09-27 17:50:12 2210
先序遍历1、BinaryTreePreorderTraversal---leetcode144#coding:utf-8classSolution:#根左右defpreorderTraversal(self,root):ifnotroot:return[]return[root.val]+self.preorderTraversal(root.left)+self.preorderTraversal(root.right)#给定二叉树的前序遍历和中序遍历,
系统 2019-09-27 17:49:30 2210
一、用例编写规则1.unittest提供了testcases、testsuites、testfixtures、testrunner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:(1)测试文件必须先importunittest(2)测试类必须继承unittest.TestCase(3)测试方法必须以“test_”开头(4)测试类必须要有unittest.main()方法2.pytest是python的第三方测试框架,是
系统 2019-09-27 17:49:08 2210
在python中的数据类型和控制流这篇文章中我们提到过列表,它是基本的数据类型之一。通俗来说,它就是用来存储一系列数据的。比如存储一个班级的学生。列表中的每个元素可以通过下标(索引)访问,索引从0开始。既然列表存储的是一系列值,这必然存在「增删改查」的情况,就像一个班级的学生,有进入学的,也有退学的。接下来我们来说说,首先我们先从列表的创建开始。创建列表list=[ele1,ele2,elem3,...,elen]比如,创建一个数字列表或英文字符列表num
系统 2019-09-27 17:48:06 2210
如下所示:#x=['cba',"edf"]#y=[]#foriinx:#foriiini:##print(ii)#ifii=='':#pass#else:#y.append(ii)#print(y)#python清除列表中的空字符#list1=['122','2333','3444','','422','','','54','']#第一种方法会导致最后一个''没有被移除掉['122','2333','3444','422','54','']#forxinl
系统 2019-09-27 17:47:59 2210
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi
系统 2019-09-27 17:47:25 2210
定义代码如下importredisimportcontextlibimportpickleimportos,socket,threadingclassRedisLock:def__init__(self,lock_name,host='',port=6379,db=0):self.lock_name=lock_nameself.redis=redis.Redis(connection_pool=redis.ConnectionPool(host=host,
系统 2019-09-27 17:47:19 2210
抓取动态的网页内容主要有两种办法,一种是通过开发者工具找到动态内容的接口,然后分析接口的参数和返回值来爬取网站的数据。另外一种是通过模拟浏览器来抓取数据。python的Selenium库就可以通过代码来模拟浏览器抓取数据。一、概述运行Selenium需要依赖于Python的selenium库,以及浏览器对应驱动器(WebDriver)。安装selenium库pipinstallselenium项目地址:https://pypi.org/project/se
系统 2019-09-27 17:47:10 2210
为了加快网站的加载速度,我们通常要多js和css进行压缩处理。这些js和css的压缩工作如果都手动处理,费时费力。DjangoCompressor可以实现js/css的自动压缩。DjangoCompressor在易用性方面做的非常好,按照文档做简单的设置后就可以正常工作。强烈建议大家去将文档完整的看一遍(文档很短)。使用的时候,只需要将css/js放到compress标签中DjangoCompressor即可自动进行处理。在debug模式时,DjangoC
系统 2019-09-27 17:46:13 2210
时隔已久,再次冒烟,自动化测试工作仍在继续,自动化测试中的数据驱动技术尤为重要,不然咋去实现数据分离呢,对吧,这里就简单介绍下与传统unittest自动化测试框架匹配的DDT数据驱动技术。话不多说,先撸一波源码,其实整体代码并不多#-*-coding:utf-8-*-#ThisfileisapartofDDT(https://github.com/txels/ddt)#Copyright2012-2015CarlesBarrobésandDDTcontri
系统 2019-09-27 17:46:08 2210