Python

用 Python 实现读写锁

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

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

Python

Python高效编程

工作中经常要处理各种各样的数据,遇到项目赶进度的时候自己写函数容易浪费时间。Python中有很多内置函数帮你提高工作效率!一:在列表,字典中根据条件筛选数据1.假设有一个数字列表data,过滤列表中的负数列表推导式result=[iforiindataifi>=0]filterresult=filter(lambdax:x>=0,data)2.学生的数学分数以字典形式存储,筛选其中分数大于80分的同学d={x:randint(50,100)forxinra

系统 2019-09-27 17:55:58 2041

Python

【实战演练】Python+Django网站开发系列06-django数据库创建

在前面(【实战演练】数据库基本知识与原理系列https://blog.51cto.com/14423403/2418820)的文章,已经分享过数据库的原理,设计与开发的范式,以及根据我们django项目的需求,进行了数据库的设计。另外也介绍过数据库操作的基本SQL命令。以前不使用web框架来进行开发,那么就需要在一个php或者py文件(页面文件里面),从展示层(html、css、js)到逻辑层(php、python)到数据层(SQL)的东西都要写。直接用p

系统 2019-09-27 17:55:27 2041

Python

python连接oracle数据库实例

本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:一、首先下载驱动:(cx_Oracle)http://www.python.net/crew/atuining/cx_Oracle/不过要注意一下版本,根据你的情况加以选择。二、安装:首先配置oracle_home环境变量执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。如果是linux,执行复制代码

系统 2019-09-27 17:55:16 2041

Python

[Python] 汉诺塔问题(递归)

汉诺塔的移动可以用递归函数非常简单地实现。题目:请编写move(n,a,b,c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法[思路]假设:A柱子只有两个盘,上面为n-1个小盘,下面为1个大盘;B:0盘;C:0盘移动步骤①:A柱的n-1个盘,借助C柱的缓冲,移动到B柱,move(n-1,a,c,b)移动步骤②:A柱的1个盘,借助B柱的缓冲,移动到C柱,move(1,a,b,c)移动步骤③:B

系统 2019-09-27 17:54:20 2041

Python

Python竟能画这么漂亮的花,帅呆了(代码分享)

阅读本文大概需要3分钟关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写app,当时觉得非常好玩,那个是时候还是用symbian系统,熬了好几个通宵用j2me写了一个坦克大战,到现在还记得当程序运行的时候坦克互战的情景,真的是蛮兴奋的。好吧一下子扯远了,我们还是回到正题:我想来想去,决定要找一个好玩有趣的例子来总结,总于被我找到了,这个

系统 2019-09-27 17:53:24 2041

Python

python 小细节

1.递归时用self.函数名2.python中只有None表示空,没有null,NULL3.切片:切片的语法表达式为:[start_index:end_index:step],同时索引可分为正向和负向两种,其中:start_index表示起始索引end_index表示结束索引step表示步长,步长不能为0,且默认值为1或split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num+1个子字符串str.split(str="",num

系统 2019-09-27 17:53:07 2041

Python

Python实现字符串反转的几种方法

要求:在Python环境下用尽可能多的方法反转字符串,例如将s="abcdef"反转成"fedcba"第一种:使用字符串切片result=s[::-1]第二种:使用列表的reverse方法l=list(s)l.reverse()result="".join(l)当然下面也行l=list(s)result="".join(l[::-1])第三种:使用reduceresult=reduce(lambdax,y:y+x,s)第四种:使用递归函数deffunc(s

系统 2019-09-27 17:53:05 2041

Python

在Python程序员面试中被问的最多的10道题

我们在为大家整Python程序员面试试题中,发现了一些被面试官问到的最多的一些问题,以下就是本篇内容:Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Python面试官经常问的问题,供大家参考学习。类继承有如下的一段代码:classA(object):defshow(self):print'baseshow'classB(A):defshow(self):print'deriv

系统 2019-09-27 17:53:04 2041

Python

python3实现mysql导出excel的方法

Mysql中'employee'表内容如下:#__Desc__=从数据库中导出数据到excel数据表中importxlwtimportpymysqlclassMYSQL:def__init__(self):passdef__del__(self):self._cursor.close()self._connect.close()defconnectDB(self):"""连接数据库:return:"""try:self._connect=pymysql.C

系统 2019-09-27 17:53:01 2041

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 2041

Python

Python 求对数

文章目录1.描述2.语法3.参数4.返回值5.实例演战5.1.求解$\ln2$5.2.求解$\log_210$1.描述log()返回x的自然对数。2.语法以下是log()方法的语法:importmathmath.log(x[,base])注意:log()是不能直接访问的,需要导入math模块,通过静态对象调用该方法。3.参数x–数值表达式。base–可选,底数,默认为e。4.返回值返回x的自然对数,x>0。5.实例演战5.1.求解ln⁡2\ln2ln2im

系统 2019-09-27 17:52:07 2041

Python

python实现人工智能Ai抠图功能

自己是个PS小白,没办法只能通过技术来证明自己。话不多说,直接上代码fromremovebgimportRemoveBgimportrequestsimportosif__name__=='__main__':path='%s\picture'%os.getcwd()ispath=os.path.exists(path)ifnotispath:os.mkdir(path)response=requests.post('https://api.remove.

系统 2019-09-27 17:51:25 2041

Python

第15.2节 PyCharm支持Python解释器的配置调整

上节介绍了PyCharm的安装与简单使用,本节介绍PyCharm相关的配置调整,以支持在PyCharm环境下集成Python解释器进行程序的编译。一、工程配置调整在执行文件前,可能需要对PyCharm进行配置调整:点击File->settings菜单,如图:进入设置界面:这些设置选项包括外观、快捷键、工具栏等,大家可以慢慢研究,最重要的是一定要在工程设置中设置:ProjectInterpreter,即工程使用的Python解释器。刚开始安装的版本应该是没有

系统 2019-09-27 17:50:43 2041

Python

Python3中常用的处理时间和实现定时任务的方法的介绍

无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务,注意咯:本篇所讲是python3版本的实现,在python2版本中的实现略有不同,有时间会再写一篇以便大家区分。1.计算明天和昨天的日期#!/usr/bin/envpython#coding=utf-8#获取今天、昨天和明天的日期#引入datetime模块importdatetime#计算今天的时间today=datetime.date.today(

系统 2019-09-27 17:50:43 2041