Python

用 Python 实现读写锁

♚作者:weapon,闲来笑浮生悬笔一卷入毫端,朱绂临身可与言者不过二三。博客:zhihu.com/people/hong-wei-peng起步Python提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加;而写锁只能有一个线程,且必须在没有读锁时才能加上。简单的实现这是读写锁的一个简单的实现,self.

系统 2019-09-27 17:56:19 1988

Python

python基础之流程控制(3)

1.python语句的分类1.单行代码一行的python代码2.代码块/组:以冒号作为开始,用缩进划分相同作用域,这样的结构称之为代码块,是一个整体。作用域是指作用范围。作用区域,使用了相同的缩进,即有相同的作用域。缩进:一个table距离或者四个空格。注意:代码块/组中严格区分空格和table,不能混合使用,必须只使用一种方式缩进!2.流程控制的分类流程控制:对计算机执行代码的管控就是流程控制。分类:1.顺序结构2.分支结构/选择结构3.循环结构3.顺序

系统 2019-09-27 17:56:11 1988

Python

python爬虫实现教程转换成 PDF 电子书

写爬虫似乎没有比用Python更合适了,Python社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的library分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的Python教程爬下来做成PDF电子书方便大家离线阅读。开始写爬虫前,我们先来分析一下该网站1的页面结构,网页的左侧是教程的目录大纲,每个URL对应到右边的一篇文章,右侧上方是文章的标题,中间是文章的正文部分,正文内容是我们关心的重点,我们要爬的数据就是所有网页的正文部分

系统 2019-09-27 17:55:45 1988

Python

python操作CouchDB的方法

本文简单讲述了python操作CouchDB的方法,分享给大家供大家参考。具体方法如下:1.安装pythoncouchDb库:https://pypi.python.org/pypi/CouchDB/0.102.连接服务器>>>importcouchdb>>>couch=couchdb.Server('http://example.com:5984/')3.创建数据库>>>db=couch.create('test')#新建数据库>>>db=couch['

系统 2019-09-27 17:55:43 1988

Python

Python Web框架之Django框架文件上传功能详解

本文实例讲述了PythonWeb框架之Django框架文件上传功能。分享给大家供大家参考,具体如下:上传方式:-Form表单上传文件-Ajax上传文件-基于form表单和iframe自己实现ajax请求1,创建项目2,settings配置(注册app01,static路径等等这些)及url添加(略过)3,views视图函数form的视图收到了在request.FILES中的文件数据。从上述form来的数据可以通过request.FILES['file']来

系统 2019-09-27 17:55:03 1988

Python

解决python3 安装不了PIL的问题

python3无法正常安装PIL,因为PIL只支持python2各个版本,还没有python3的版本。这里是PIL官网http://www.pythonware.com/products/pil/可以看出只支持python2。不过有一个可以替代PIL的包,并且可以在python3上正常安装。Pillow包。Windows下安装方法:step1:windows+Rstep2:cmdstep3:pipinstallPillow截图如下:安装成功,大功告成。以上

系统 2019-09-27 17:54:39 1988

Python

AI算法工程师学习路线总结之Python篇 | 粉丝福利

【磐创AI导读】从本周开始,磐创AI将联合七月在线推出AI算法工程师系列进阶课程,课程内容将涵盖Python、机器学习、深度学习、自然语言处理、图像识别等多个方向,手把手带着大家进阶AI算法工程师。本周将推出系列课程的第一阶段《Python基础入门第三期》以及四篇干货Python课程笔记。另针对磐创AI的粉丝,我们将提供10个免费学习的名额,具体参与方式可见文末“粉丝福利”。1.课程介绍该课程是在《Python基础升级版》的基础上,定位为有意向从事数据科学

系统 2019-09-27 17:54:29 1988

Python

对称的二叉树 python leetcode101

题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。1/\22/\/\3443但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的:1/\22\\33用递归和队列实现#递归#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=Noneclas

系统 2019-09-27 17:53:29 1988

Python

Python hexstring-list-str之间的转换方法

在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理:hexstring如:'1C532145697A8B6F'str如:'\x1C\x53\x21\x45\x69\x7A\x8B\x6F'list如:[0x1C,0x53,0x21,0x45,0x69,0x7A,0x8B,0x6F]各种第三方模块(如pyDes),或者自己写的接口中,可能存在由于类型不统一需要在这3种数据中来回切换的情况。需要用到的核心的方法如下:list()将对象转换为

系统 2019-09-27 17:52:42 1988

Python

Python 面向对象进阶

一、isinstance(obj,cls)和issubclass(sub,super)1.1isinstanceisinstance(obj,cls)检查obj是否是类cls的对象包括继承关系1classFoo(object):2pass34obj=Foo()5print(isinstance(obj,Foo))#True1.2issubclassissubclass(sub,super)检查sub类是否是super类的派生类判断类与类之间的继承关系1cl

系统 2019-09-27 17:52:37 1988

Python

使用python编写十二进制与十进制转换程序

我在面试前,面试公司发来一道python题,我觉得还挺有意思的。题目如下。"""“”"我们知道2进制数字由2种字符(01)组成,10进制数字由10种字符(0123456789)组成,16进制由16种字符(0123456789ABCDEF)。不同进制的数字之间可以相互转换。我们定义一种“十二地支进制”数字,这种数字由中国古代地支的12种字符(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)组成。“十二地支进制”数字和10进制数字的关系可以看下面的代码。[["

系统 2019-09-27 17:52:33 1988

Python

python twilio模块实现发送手机短信功能

前排提示:这个模块不是用于对陌生人进行短信轰炸和电话骚扰的,这个模块也没有这个功能,如果是抱着这个心态来的,可以关闭网页了语言:python步骤一:安装twilio模块pipinstalltwilio步骤二:进入官网注册https://www.twilio.com注册完毕之后,会有一个调查,问你准备做什么项目,在这里先选择短信项目项目创建之后,申请一个试用号码在上方图片中有用的信息有三个:试用号码,账号SID,和验证令牌,后两个用右边的复制按钮进行复制步骤

系统 2019-09-27 17:52:15 1988

Python

python django 之路(一)

1.安装python2.安装djangopipinstallDjango3.创建项目在某位置创建项目,cmd中执行命令django-adminstartproject项目名称4.启动项目cd到项目根目录中,cmd中执行命令pythonmanage.pyrunserver127.0.0.1:88。浏览器中输入以下网址校验是否启动成功

系统 2019-09-27 17:52:11 1988

Python

一篇文章读懂Python赋值与拷贝

变量与赋值在Python中,一切皆为对象,对象通过「变量名」引用,「变量名」更确切的叫法是「名字」,好比我们每个人都有自己的名字一样,咱们通过名字来代指某个人,代码里面通过名字来指代某个对象。变量赋值就是给对象绑定一个名字,赋值并不会拷贝对象。好比我们出生的时候父母就要给我们取一个名字一样,给人取个绰号并不来多出一个人来,只是多一个名字罢了。两个对象做比较有两种方式,分别是:is与==,is比较的是两个对象是否相同,通过对象的ID值可识别是否为相同对象,=

系统 2019-09-27 17:51:31 1988

Python

在Python中利用Pandas库处理大数据的简单介绍

在数据分析领域,最热门的莫过于Python和R语言,此前有一篇文章《别老扯什么Hadoop了,你的数据根本不够大》指出:只有在超过5TB数据量的规模下,Hadoop才是一个合理的技术选择。这次拿到近亿条日志数据,千万级数据已经是关系型数据库的查询分析瓶颈,之前使用过Hadoop对大量文本进行分类,这次决定采用Python来处理数据:硬件环境CPU:3.5GHzIntelCorei7内存:32GBHDDR31600MHz硬盘:3TBFusionDrive数据

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