生成器(generator)概念生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。生成器语法生成器表达式:通列表解析语法,只不过把列表解析的[]换成()生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存。>>>gen=(x**2forxinrange(5))>>>genat0x0000000002FB7B40>>>>forgingen:
系统 2019-09-27 17:52:55 1946
一、冒泡排序冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。以上节选自维基百科代码实现:defbubble_sort(numberlist):length=len(numberlist)foriinrange(lengt
系统 2019-09-27 17:52:52 1946
print("我想打印一个字符串%s"%123)print("我想打印一个字符串",123)print("我想打印一个字符串{}".format(123))这三个输出有什么区别喃?Python中一个数据是否可以迭代(能否使用For)isinstance(需要判断的数据,Iterable)查看返回值,true则可以迭代,false不能迭代。如果创建一个可以迭代的对象?必须实现__iter__()方法在__iter__方法中需要返回一个具有__iter__方法
系统 2019-09-27 17:52:09 1946
目录python多线程详解一、线程介绍什么是线程为什么要使用多线程二、线程实现threading模块自定义线程守护线程主线程等待子线程结束多线程共享全局变量互斥锁递归锁信号量(BoundedSemaphore类)事件(Event类)三、GIL(GlobalInterpreterLock)全局解释器锁python多线程详解一、线程介绍什么是线程线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位
系统 2019-09-27 17:51:56 1946
Python标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如urllib2这个HTTP客户端库。这里总结了一些urllib2的使用细节。1.Proxy的设置2.Timeout设置3.在HTTPRequest中加入特定的Header4.Redirect5.Cookie6.使用HTTP的PUT和DELETE方法7.得到HTTP的返回码8.DebugLogProxy的设置urllib2默认会使用环境变量http_proxy
系统 2019-09-27 17:51:34 1946
pika生产者程序大致步骤:1.建立连接connection,需要认证的调用认证参数2.创建通道channel当然channel可以池化,这样可以重复使用3.声明队列指定队列属性,一旦指定属性不能修改,例如是否持久化,名称4.声明交换机交换机类型,名称等,也可以不用声明,直接使用“”空字符串,默认交换机也可以5.将队列与交换机绑定queue_bind6.basic_publish发送到交换机指定路由键pika消费者程序大致步骤:1.建立连接connecti
系统 2019-09-27 17:51:26 1946
在写程序时,我们经常需要定义一些路径常量,为了逻辑和代码的清晰,可以新建一个config.ini文件,然后调用其中的信息即可。config.ini文件格式如下:[section1]model_dir=/home/user/nlp-data/trained-model;注释save_input=./profiling/inputsave_state=./profiling/state......[section2]save_output=./profilin
系统 2019-09-27 17:51:24 1946
目录条件判断if循环for...in...whilebreakcontinue继"Python学习之路二":条件判断if比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:>>>age=18>>>ifage>=18:print("yourageis",age)print("adult")yourageis18adult>>>根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也
系统 2019-09-27 17:51:22 1946
Python中的上下文管理器withexpression[astarget]:with-body上下文管理器是为with语句而生。只要实现了上下文管理器协议__enter__与__exit__,就可以使用with语句。__enter__通常执行一些初始化操作,并且该函数的返回值会赋值给可选的astarget中的target变量。__exit__执行资源清理工作。它接收三个参数,异常类型,异常实例,和异常栈,根据这些异常信息,__exit__可以选择进行相应
系统 2019-09-27 17:51:21 1946
函数:split()Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开一、函数说明1、split()函数语法:str.split(str="",num=string.count(str))[n]参数说明:str:表示为分隔符,默认为空格,但是不能为空('')。若字符串
系统 2019-09-27 17:50:49 1946