为您找到搜索结果:5822个
python3之面向对象
1、面向对象术语类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类属性(类变量):类属性在整个实例化的对象中是公用的。类属性定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。实例变量:定义在方法中的变量,只作用于当前实例的类。继承:即一个派生类(derivedclass)继承基类(baseclass)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系。实例化:创建一个类的实例,类的具体对象。方法:类中定义的函数。对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。2、类定义Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的...
python3之xml&ConfigParser&hashlib&Subprocess&logging模块
1、xml模块XML指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。XML被设计用来传输和存储数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。python对XML的解析:常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同。python有三种方法解析XML,SAX,DOM,以及ElementTree:使用xml.etree.ElementTree模块来解析XML文件,ElementTree模块中提供了两个类用来完成这个目的:ElementTree表示整个XML文件(一个树形结构)Element表示树种的一个元素(结点)示例xml文件:<collectionshelf="NewArrivals"><movietitle="EnemyBehind"><type>War,T...
python3之shutil高级文件操作
1、shutil高级文件操作模块shutil模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。对单个文件的操作也可参见os模块。2、shutil模块的拷贝方法>>>importshutil>>>shutil.chown('test.txt',user='mysql',group='mysql')#改变文件的属主和属组>>>shutil.copy('test.txt','test_copy.txt')#拷贝文件>>>shutil.copy2('test.txt','test_copy2.txt')#拷贝文件并复制所有统计信息,如修改时间等。>>>shutil.copyfile('test_ln.txt','test_copyfile.txt')#如果是链接文件,将复制新文件,不复制链接>>>dstf=open('test_copyfileobj.txt','r+')>>>srcf=open('test.txt','r')...
python3之序列化(pickle&json&shelve)
1、pickle模块python持久化的存储数据:python程序运行中得到了一些字符串,列表,字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中pickle模块就排上用场了,他可以将对象转换为一种可以传输或存储的格式。pickle模块将任意一个python对象转换成一系统字节的这个操作过程叫做串行化对象。python的pickle模块实现了python的所有数据序列和反序列化。基本上功能使用和JSON模块没有太大区别,方法也同样是dumps/dump和loads/load。cPickle是pickle模块的C语言编译版本相对速度更快。与JSON不同的是pickle不是用于多种语言间的数据传输,它仅作为python对象的持久化或者python程序间进行互相传输对象的方法,因此它支持了python所有的数据类型。importpickledata2=[1,2,3,4]det_str=pickle.dumps(data2)print(det_str)#output:输出为二进制格式b'x80x03]qx00(Kx01Kx02Kx03...
python3之模块
1、python3模块模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python标准库的方法。模块让你能够有逻辑地组织你的python代码段;把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。#新建模块文件modle_1.py,内容如下:defp_func(arg):print('hello',arg)return#新建主模块文件main.py,内容如下:frommodle_1importp_func#导入模块modle_1中的p_func函数if__name__=="__main__":#判断是否为主程序执行口p_func('python')#output:hellopython2、模块的引入模块定义好后,可以使用import语句来引入模块,语法如下:importmodule1,[module2[,.........moduleN]]比如要引用模块math,就可以在文件最开始用importmath来引入,在调用math模块中的函数时,必须使用:模块...
python3之正则表达式
1、正则表达式基础正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不然str自带方法,但功能十分强大。正则表达式的大致匹配流程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。python支持的正则表达式元字符和语法:模式描述^匹配字符串的开头$匹配字符串的末尾。.匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。[...]用来表示一组字符,单独列出:[amk]匹配'a','m'或'k'[^...]不在[]中的字符:[^abc]匹配除了a,b,c之外的字符。re*匹配0个或多个的表达式。re+匹配1个或多个的表达式。re?匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式re{n} re{n,}精确匹配n个前面表达式。re{n,m}匹配n到m次由前面的正则表达式定义的片段,贪婪方式a|b匹配a或b(re)G匹配括号内的表达式,也表示一个组(?imx)正则表达式包含三种可选标志:i,m,或x。只影响括号中的区域。(?-imx)正则表达式...
python3之递归
1、递归的特点递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1)递归就是在过程或函数里调用自身(2)在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低,所以一般不提倡用递归算法设计程序。(4)在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储,递归次数过多容易造成栈溢出等。2、递归的要求递归算法所体现的“重复”一般有三个要求:(1)每次调用在规模上都有所缩小(通常是减半)(2)是相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出作为后一次的输入)(3)在问题的规模极小时必须用直接给出解答而不再进行递归调用,因而每次递归调用都是有条件的(以规模位达到直接解答的大小为条件)无条件递归调用将会成为死循环而不能正常结束。简单的递归函数实例:defrecursion(i):#定义函数print(i)ifi/2>1:#判断递归条件,退出re=recursio...
python3之装饰器
1、装饰器装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限验证等场景,装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。装饰器的实现原理:#无参数装饰器原理:deflogin(funct):print('passeduserveriftcation...')returnfunct#函数返回形参的值或内存地址deftv():print('welcomtoTVpage')tvv=login(tv)#执行login函数,参数tv返回tv函数的内存地址tvv()#执行生成器函数将执行tv函数传参数装饰器原理:#实例:实现程序执行前的验证deflogin(funct):#验证函数definner(arg):#嵌套函数是为了不让验证函数不执行print('passeduserveriftcation...')funct(arg)retu...
python3之迭代器&生成器
1、迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 生成迭代器和 next()遍历迭代器元素。>>>dil=iter(range(10))#使用iter方法创建一个迭代器>>>print(type(dil))#类型为迭代器<class'range_iterator'>>>>print(dil)<range_iteratorobjectat0x7fb9bf466ed0>>>>l1=[1,2,3,4,5]>>>it=iter(l1)#将列表转换为迭代器>>>print(type(it))<class'list_iterator'>>>>print(it)<list_iteratorobjectat0x7fb9bf42e9...
python3之File文件方法
1、读写文件open()将会返回一个file对象,基本语法:open(filename,mode)filename:是一个包含了访问的文件名称的路径字符串mode:决定了打开文件的模式:只读,写入,追加等,默认文件访问模式为只读(r)不同模式打开文件的列表:r:以只读的方式打开文件,文件的指针将会放在文件的开头,为默认模式rb:以二进制格式打开一个文件用于只读,文件指针会在文件的开头r+:打开一个文件用于读写,文件指针将会在文件的开头rb+:以二进制格式打开一个文件用于读写,文件指针会放在文件的开头w:打开一个文件用于写入,如果该文件已存在则将会覆盖文件,如果不存在则创建新文件wb:以二进制打开一个文件用于写入w+:打开一个文件用于读写wb+:以二进制格式打开一个文件用于读写,如果文件存在则覆盖,如果不存在则创建新文件a:打开一个文件用于追加内容,如果文件已存在,文件指针会放在文件的结尾,如果不存在则创建新文件进行写入ab:以二进制格式打开一个文件用于追加写入a+:打开一个文件用于读写,如果该文件已存在,文件指针会放在结尾,文件打开时会是追加模式,该文件不存在则创建新文件ab+:以二进...
python3之模块collections
1.计数器(counter)counter是对字典的方法,用来追踪值的出现次数;具备字典的所有功能和自己的功能。>>>fromcollectionsimportCounter>>>d2=Count>>>d2=Counter('abbcccddd')#对值计数>>>print(d2)Counter({'d':3,'c':3,'b':2,'a':1})>>>print(type(d2))<class'collections.Counter'>>>>d2=Counter('abbcccddd')>>>foriind2.elements():#计数元素迭代器...print(i)...bbadddccc>>>d2.clear()#清空元素>>>print(d2)Counter()>>>d3=d2.copy()#拷贝>>>d3Counter({'d':3,'c':3,'b':2,'a':1...
python3解析库BeautifulSoup4
BeautifulSoup是python的一个HTML或XML的解析库,我们可以用它来方便的从网页中提取数据,它拥有强大的API和多样的解析方式。BeautifulSoup的三个特点:BeautifulSoup提供一些简单的方法和python式函数,用于浏览,搜索和修改解析树,它是一个工具箱,通过解析文档为用户提供需要抓取的数据BeautifulSoup自动将转入稳定转换为Unicode编码,输出文档转换为UTF-8编码,不需要考虑编码,除非文档没有指定编码方式,这时只需要指定原始编码即可BeautifulSoup位于流行的Python解析器(如lxml和html5lib)之上,允许您尝试不同的解析策略或交易速度以获得灵活性。1、BeautifulSoup4的安装配置BeautifulSoup4通过PyPi发布,所以可以通过系统管理包工具安装,包名字为beautifulsoup4$easy_installbeautifulsoup4或者$pipinstallbeautifulsoup4也可用通过下载源码包来安装:#wgethttps://www.crummy.com/software/...
python3解析库lxml
lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高XPath,全称XMLPathLanguage,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点,都可以用XPath来选择XPath于1999年11月16日成为W3C标准,它被设计为供XSLT、XPointer以及其他XML解析软件使用,更多的文档可以访问其官方网站:https://www.w3.org/TR/xpath/1、python库lxml的安装windows系统下的安装:#pip安装pip3installlxml#wheel安装#下载对应系统版本的wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxmlpip3installlxml-4.2.1-cp36-cp...
python3之requests
1、requests简介requests是通过urllib3实现自动发送HTTP/1.1请求,它能轻松的实现cookies,登陆验证,代理设置等操作。Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。更好的方案是使用requests。它是一个Python第三方库,处理URL资源特别方便requests实现内容:保持活力和连接池支持国际域名和网址会话与Cookie持久性浏览器式SSL验证自动内容解码基本/摘要式身份验证自动解压缩Unicode响应bodyHTTP(s)代理支持多部分文件上传流媒体下载连接超时分块的请求.netrc支持2、requests的安装(1)源码安装:gitclonegit://github.com/requests/requests.git#克隆公共存储库或者下载tarballcurl-OLhttps://github.com/requests/requests/tarball/mastercdrequests/requestspipinstall.(2)pip安装pipinstallrequests(3)...
python版本管理工具pyenv和包管理工具pipenv
一、pyenv版本管理工具pyenv是一个python版本管理工具,可以实现轻松切换多个python版本它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理virtualenv虚拟环境,可以自己创建virtualenv或者通过pyenv-virtualenv来自动化创建虚拟环境pyenv通过PATH环境变量来匹配切换python或者pip的工作目录,pyenv通过读取工作环境来指定使用哪个python版本,如在当前会话中查找PYENV_VERSION环境变量,可以通过pyenvshell来设置shell会话变量,在当前目录中的特定应用程序文件.python-version,可以使用pyenvlocal来设置.python-version,它会搜索每个父目录直到根目录;全局$(pyenvroot)/version文件可以通过pyenvglobal命令修改,通过读取这些环境变量或文件来指定运行的python版本,也可以多个版本并行,更多详细内容请去github上pyenv项目1、linux下安装pyenv(centOS)安装前需检查是否有以下安装依赖包...