Python

彻底理解Python中的yield

阅读别人的python源码时碰到了这个yield这个关键字,各种搜索终于搞懂了,在此做一下总结:通常的for…in…循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表,字符串,文件。它可以是mylist =[1,2,3],也可以是mylist=[x*xforxinrange(3)]。它的缺...

python之动态参数 *args,**kwargs(聚合,打散)

一、函数的动态参数*args,**kwargs,形参的顺序1、你的函数,为了拓展,对于传入的实参数量应该是不固定,所以就需要用到万能参数,动态参数,*args,**kwargs1,*args 将所有实参的位置参数聚合到一个元组,并将这个元组赋值给args(起作用的是*并不是args,但是约定俗成动态接收实参的...

python中的三元表达式(三目运算符)

python中没有其他语言中的三元表达式,不过有类似的实现方法 其他语言中,例如java的三元表达式是这样inta=1;Stringb="";b=a>1?"执行表达式1":"执行表达式2"System.out.println(b) 在python中只有类似的替代办法,如果a>b的结果为真...

Python unittest(PyUnit)单元测试框架

PyUnit(unittest)是 Python 自带的单元测试框架,用于编写和运行可重复的测试。PyUnit是xUnit体系的一个成员,xUnit是众多测试框架的总称,PyUnit主要用于进行白盒测试和回归测试。如果你使用的是2.1或更早版本的Python,则可能需要自行下载和安装PyUnit,现...

Python微服务实践-集成Consul配置中心

Alitmustestforwhetheranapphasallconfigcorrectlyfactoredoutofthecodeiswhetherthecodebasecouldbemadeopensourceatanymoment,withoutcompromisinganycredentials.配置是软件开...

python之psutil模块(获取系统性能信息(CPU,内存,磁盘,网络)

一、psutil模块1.psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、ne...

使用 Consul 作为 Python 微服务的配置中心

半部分主要为Consul的一些介绍,若已经了解Consul,可以直接跳转到:使用Consul作为Python微服务的配置中心Consul 是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。Consul是分布式的、高可用的、可横向扩展的。它具备以下特性:服务发现:Consul提供了通过...

python rabbitmq的库,rabbitpy代替pika

之前看网上都是清一色pika包的例子,就用的pika包,最大问题是非多线程安全,改为使用rabbitpy。大幅改善了pika多线程需要加锁,和外网推送延迟又不能开多线程导致推送慢的问题。rabbitpy有个适配器,可以把rabbitpy包的channel适配成与pika包的channel的相同公有方法,减少了难度。&n...

python中RabbitMQ的使用(工作队列)

消息可以理解为任务,消息发送者可以看成任务派送者(sender),消息接收者可以看成工作者(worker)。当工作者接收到一个任务,还没完任务时分配者又发一个任务,此时需要多个工作者来共同处理这些任务。任务分派结构图如下:注:此时有一个任务派送人P,两个工作接收者C1和C2。现在我们来模拟该情况:1.首先打开三个终端:...

Python 调试工具PySnooper

相信很多小伙伴平时写python的时候都是需要调试程序的,出问题了,需要了解函数内部是怎么跑的,而这个时候很多人都会想到在疑惑的地方使用print函数来打印一下参数来调试。虽然用print也是不失为是一种方法,但是有时如果疑惑的地方多就要每个地方都要加print,这样就显得比较麻烦了。今天发现在Github开源了一个神...

typing-python用于类型注解的库

动态语言的灵活性使其在做一些工具,脚本时非常方便,但是同时也给大型项目的开发带来了一些麻烦。自python3.5开始,PEP484为python引入了类型注解(typehints),虽然在pep3107定义了函数注释(functionannotation)的语法,但仍然故意留下了一些未定义的行为.现在已经拥有许多对于静...

将python包发布到PyPI和制作whl文件

参考链接:wheel和egg的不同怎样将自己写的包传达到PyPi发布你自己的轮子-PyPI打包上传实践PyPI官网上传包教程wheel文件Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面的内容。按照官网说法,wh...

使用python3的typing模块提高代码健壮性

typing模块的作用:类型检查,防止运行时出现参数和返回值类型不符合。作为开发文档附加说明,方便使用者调用时传入和返回参数类型。该模块加入后并不会影响程序的运行,不会报正式的错误,只有提醒。注意:typing模块只有在python3.5以上的版本中才可以使用,pycharm目前支持typing检查下面说说typing...

Github上的python开源项目

github排名榜单 https://github.com/trendinggithub搜索榜单:https://github.com/search说明以下总结大部分来至于[TimLiu-Python](https://github.com/Tim9Liu9/TimLiu-Python),欢迎大家查看原版Fe...

利用Python下载:You-Get的安装及使用方法

You-Get是一个非常优秀的网站视频下载工具。使用You-Get可以很轻松的下载到网络上的视频、图片及音乐。1.打开这个网址https://www.python.org/下载并安装Python,注意勾选AddPython3.5toPATH,如图 安装完成如图: 2.按Win+R键打开运行,输入cm...