前言Python生成器(generator)并不是一个晦涩难懂的概念。相比于MetaClass和Closure等概念,其较为容易理解和掌握。但相对于程序结构:顺序、循环和分支而言其又不是特别的直观。无论学习任何的东西,概念都是非常重要的。正确树立并掌握一些基础的概念是灵活和合理运用的前提,本文将以一种通俗易懂的方式介绍一下generator和yield表达式。1.Iterator与Iterable首先明白两点:Iterator(迭代器)是可迭代对象;可迭代
系统 2019-09-27 17:48:41 1875
Python标准库中functools库中有很多对方法很有有操作的封装,partialObjects就是其中之一,他是对方法参数默认值的修改。下面就看下简单的应用测试。复制代码代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-#python2.7x#partial.py#authror:orangleliu'''functools中Partial可以用来改变一个方法默认参数1改变原有默认值参数的默认值2给原来没有默认值
系统 2019-09-27 17:48:32 1875
一、对列表(list)进行排序推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序复制代码代码如下:>>>a=[1,9,3,7,2,0,5]>>>a.sort()>>>printa[0,1,2,3,5,7,9]>>>a.sort(reverse=True)>>>printa[9,7,5,3,2,1,0]>>>b=['e','a','be','ad','dab','dbc']>>>b.sort()>>>printb['a','ad','be'
系统 2019-09-27 17:48:22 1875
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 1875
很多书籍里面讲的Python备份都是在linux下的,而在xp上测试一下也可以执行备份功能,代码都差不多相同,就是到执行打包的时候是不一样的。而且要用到winrar,其他的压缩文件也是一样的。首先我们要把winrar的路径添加到path里面,这里添加完了要重启机子才有效。这里要注意:把winrar的路径添加到path里面之后一定要重启,否则path的设定不会起作用,打包就会失败!这里用到得命令是:winraraxxx.zipxxxxxxx为任意字符实例代码
系统 2019-09-27 17:47:53 1875
什么是python描述符:类里面有__get__或__set__或__del__的就叫描述符属性查找优先级类属性数据描述符(同时实现__get__和__set__)实例属性非数据描述符(只实现__get__)__getattr__通过代理和描述符实现属性懒加载这里是使用装饰器的方式实现的懒加载。可以将耗时的操作放到方法里面。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值。注意,只有在使用的时候才会执行函数里面的代码,并且只执行一
系统 2019-09-27 17:47:51 1875
1.服务端主程序:#encoding:utf-8importthreadingfromprocedure.socket_serverimportThreadingHttpServer,MainHandlerfromprocedure.processimportmq_respond_procedurefromloggerimportlog,logwffromconfimport(HOST,PORT,MQ_A_RECV_1,MQ_A_RECV_2,MQ_A_R
系统 2019-09-27 17:47:49 1875
我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:Python字符串类型列表转换成真正列表类型那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fro
系统 2019-09-27 17:47:49 1875
本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值。分享给大家供大家参考之用。具体分析如下:通常来说,Python的函数是由一个新的语句编写,即def,def是可执行的语句--函数并不存在,直到Python运行了def后才存在。函数是通过赋值传递的,参数通过赋值传递给函数def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下:def(arg1,arg2,arg3,……,argN):def语
系统 2019-09-27 17:47:44 1875
count()方法返回出现在范围内串子数range[start,end]。可选参数的start和end都解释为片符号。语法以下是count()方法的语法:str.count(sub,start=0,end=len(string))参数sub--这是子串用来进行搜索。start--搜索从这一索引。第一个字符从0开始的索引。默认情况下搜索从0开始的索引。end--搜索从该索引结束。第一个字符从0开始的索引。默认情况下搜索结束的最后一个索引。返回值此方法返回集中
系统 2019-09-27 17:47:22 1875