搜索到与相关的文章
Python

用 Python 实现读写锁

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

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

Python

算法与数据结构(十六):Python 内建排序方法总结

Python内建排序机制很强大,此处对其进行一个较为系统的使用总结。1.排序方法介绍Python中有2个排序函数,一个是list内置的sort()方法,另一个是全局的sorted()方法sorted(iterable,key=None,reverse=False)#返回排好序的新列表,不改变对象本身,默认升序;reverse:-True降序-False正序对所有可迭代的对象均有效list.sort(key=None,reverse=False)#将list

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

Python

python assert的作用

一、pythonassert的作用:根据Python官方文档解释(https://docs.python.org/3/reference/simple_stmts.html#assert),"Assertstatementsareaconvenientwaytoinsertdebuggingassertionsintoaprogram".二、一般的用法是:assertcondition用来让程序测试这个condition,如果condition为false

系统 2019-09-27 17:56:07 2105

Python

零基础写python爬虫之使用Scrapy框架编写爬虫

网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据。虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间。Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。使用Scrapy可以很方便的完成网上数据的采集工作,它为我们完成了大量的工作,而不需要自己费大力气去开发。首先先要回答一个问题。问:把网站装进爬虫里,总共分几步?答案很简单,四步:新建项目(Project):新建一个新

系统 2019-09-27 17:54:44 2105

Python

Python 使用list和tuple+条件判断详解

listlist是一种有序的集合,可以随时添加和删除其中的元素。跟java不一样的是可以使用arr[-1]0>-x>=-len(arr)索引的数字为0~len(arr)-1-len(arr)~-1超过会报错classmates=['A','B','C','D','E']print(classmates)print(len(classmates))foriinclassmates:print(i)'''['A','B','C','D','E']5ABCDE'

系统 2019-09-27 17:53:41 2105

Python

python之切片

字符串,列表,元组等都可以支持切片截取的操作切片:A【start:end:step】start(默认为0)切片起始位置end(默认为字符长度)切片结束位置,不包括endstep(默认为1),切片的步长,即每几个取第一个,负号表示倒序字符串的第1个字符索引为0A="abcdefg"print(A[0])#取索引0的值,结果为:aprint(A[2:4])#取索引2到4,结果为:cdprint(A[::-1])#取倒序步长1,结果为:gfedcba列表的切片列

系统 2019-09-27 17:53:02 2105

Python

python腾讯语音合成实现过程解析

一、腾讯语音合成介绍腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。腾讯TTS技术可以应用到很多场景,比如,移动APP语音播报新闻;智能设备语音提醒;依靠网上现有节目或少量录音,快速合成明星语音,降低邀约成本;支持车载导航语音合成的个性化语音播报。(废话一大堆)。。。二、腾讯语音合成pythonSDK文档安装PythonSDK前,先获取安全凭证。在第一次使用云API之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括

系统 2019-09-27 17:52:28 2105

Python

Python 内存分配时的小秘密

原文链接:https://jinshuju.net/f/kb1Bcq♚豌豆花下猫,某985高校毕业生,兼具极客思维与人文情怀。专注python技术、数据科学和深度学习,力图创造一个有趣又有用的学习分享平台。Python中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。本文将会频繁地使用该模块的getsizeof()方法,因此,我先简要介绍一下:该方法用于获取一个对象的字节大小(bytes)它只计算

系统 2019-09-27 17:51:49 2105

Python

python set内置函数的具体使用

set集合无序可变由不同元素组成其元素必须为可哈希的类型(通俗来说不可变类型)集合的两种定义方式使用{}Eg:{1,2,3,4,5}使用set(可迭代类型)函数Eg:set("hello")*使用frozenset()函数创建不可变集合基本函数s=set("hello")"""添加一个元素到集合中"""s.add('b')"""使用可迭代对象更新集合"""s.update([1,2,3,4])"""清空集合"""s.clear()"""拷贝集合(浅拷贝)返

系统 2019-09-27 17:51:08 2105

Python

python基础知识学习——装饰器

**装饰器**1.装饰器的概念装饰器的本质就是一个函数,它的作用是为其他函数添加一个新的功能,但是不改变原函数的源代码和调用方式。装饰器的两大原则:不修改被修饰函数的源代码不修改被修饰函数的调用方式2.装饰器的知识储备(或者我们可以理解成,一个装饰器是由什么组成)装饰器=高阶函数+函数嵌套+闭包3.装饰器的实现首先我们定义一个累加求和的函数importtimedefcal():res=0foriinrange(100):res+=itime.sleep(1

系统 2019-09-27 17:50:53 2105