搜索到与相关的文章
Python

python数据结构和GIL及多进程

一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL

系统 2019-09-27 17:48:10 2113

Python

Python类中的魔法方法之 __slots__原理解析

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=

系统 2019-09-27 17:47:50 2113

Python

060 Python必备库-从数据处理到人工智能

目录一、概述1.1从数据处理到人工智能二、Python库之数据分析2.1numpy2.2pandas2.3scipy三、Python库之数据可视化3.1matplotlib3.2Seaborn3.3Mayavi四、Python库之文本处理4.1PyPDF24.2NLTK4.3Python-docx五、Python库之机器学习5.1Scikit-learn5.2TensorFlow5.3MXNet六、单元小结6.1从数据处理到人工智能一、概述1.1从数据处理

系统 2019-09-27 17:47:49 2113

Python

python中使用urllib2伪造HTTP报头的2个方法

在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行下面,我们将使用urllib2的header部分伪造报头来实现采集信息方法1、#!/usr/bin/python#-*-coding:utf-8-*-#encoding=utf-8#Filename:urllib2-header.pyimporturllib2importsys#抓取网页内容-发送报头-1url="//www.jb51.net"send_headers={'Host':'www.

系统 2019-09-27 17:47:48 2113

Python

Python中的魔法方法深入理解

接触Python也有一段时间了,Python相关的框架和模块也接触了不少,希望把自己接触到的自己觉得比较好的设计和实现分享给大家,于是取了一个“CharmingPython”的小标,算是给自己开了一个头吧,希望大家多多批评指正。:)fromflaskimportrequestFlask是一个人气非常高的PythonWeb框架,笔者也拿它写过一些大大小小的项目,Flask有一个特性我非常的喜欢,就是无论在什么地方,如果你想要获取当前的request对象,只要

系统 2019-09-27 17:47:44 2113

Python

python Tcp协议发送和接收信息的例子

需要建立2个文件,一个作为客户端,一个作为服务端文件一作为客户端client,文件二作为服务端server文件一#client客户端#TCP必须建立连接importsocket#导入模块#SOCK_STREAM---TCP协议方式#AF_INET----我的是ipv4地址#1,创建socket对象:指定传输协议s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#2,建立连接发送连接请求ip地址和端口号s.c

系统 2019-09-27 17:47:20 2113

Python

Python 命令行之旅:深入 argparse(二)

Python命令行之旅:深入argparse(二)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助

系统 2019-09-27 17:47:15 2113

Python

Python异常处理总结

本文较为详细的罗列了Python常见的异常处理,供大家参考,具体如下:1.抛出异常和自定义异常Python用异常对象(exceptionobject)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。①.raise语句Python中的raise关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:#--coding:utf-8--defThorw

系统 2019-09-27 17:46:48 2113

Python

在Python中处理日期和时间的基本知识点整理汇总

Python程序可以处理多种方式的日期和时间。日期格式之间的转换是一种常见计算机的杂活。Python的时间和日历模块,能帮助处理日期和时间。Tick是什么?时间间隔为浮点数以秒为单位的数字。在特定的时间瞬间自上午12时00分,1970年1月1日(纪元)表示,单位为秒。Python中可用的流行时间模块,它提供功能转换。该功能time.time()返回当前系统时间,因为上午12点,1970年1月1日(时代)。例子:#!/usr/bin/pythonimport

系统 2019-09-27 17:46:45 2113

Python

Python命名空间详解

通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L

系统 2019-09-27 17:46:43 2113