搜索到与相关的文章
Python

python线程中的同步问题及解决方法

多线程开发可能遇到的问题假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有可能出现下面情况:fromthreadingimportThreadimporttimenum=0deftest1():globalnumforiinrange(1000000):num+=1print("--test1--num=%d"%num)deftest2():glo

系统 2019-09-27 17:57:16 2169

Python

Python中的上下文管理器

Python中的上下文管理器,实际上就是实现了上下文管理协议的对象。在Python中打开文件的时候,我们需要确保文件被使用完毕之后,对其进行关闭操作——调用文件对象的close()方法。如果不使用上下文管理器,经典的处理方式就是将close()方法的调用放在一个finally语句中:f=open("www.log")try:print("dosomethingwithfile")finally:f.close()这里finally的唯一作用就是确保文件对象

系统 2019-09-27 17:56:31 2169

Python

LeetCode 腾讯50题Python实现之《二叉树的最大深度》

题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最大深度3。思路BFS广度优先搜索,使用双端队列deque(因为性能比另外两种Queue好得多),在大循环内对二叉树的每个层做一次遍历,range(len(queue))使只遍历当前的层,每次大循环ans加1。由于每个节点仅访问一次,所以时间

系统 2019-09-27 17:56:23 2169

Python

python opencv摄像头的简单应用

本文实例为大家分享了pythonopencv摄像头应用的具体代码,供大家参考,具体内容如下1、安装下载安装包pipinstallopencv_python-2.4.12-cp27-none-win_amd64.whl2、代码#coding=utf-8importcv2importtimecap=cv2.VideoCapture(0)#读取摄像头,0表示系统默认摄像头whileTrue:ret,photo=cap.read()#读取图像cv2.imshow(

系统 2019-09-27 17:56:15 2169

Python

Python:为什么必须在方法定义和调用中明确使用'self'?

面向对象的语言有对象。对象是状态和行为的组合。对象需要访问自己的状态。这样做基本上有两个主要选择。要么你明确地说你何时访问一个对象的状态(通过self,this或者其他类似的东西),或者语言会为你找出。让我先讨论后一种情况。存在名称冲突的问题。例如,如果对象的数据成员与方法参数的名称匹配,或者如果声明与数据成员的名称匹配的局部变量,会发生什么。您要么不允许这种情况,要么具有某种解决机制。Smalltalk是一个像这样工作的语言的例子,但我不记得语言是如何处

系统 2019-09-27 17:55:44 2169

Python

详解python中自定义超时异常的几种方法

最近在项目中调用第三方接口时候,经常会出现请求超时的情况,或者参数的问题导致调用异代码异常。针对超时异常,查询了python相关文档,没有并发现完善的包来根据用户自定义的时间来抛出超时异常的模块。所以自己干脆自己来实现一个自定义的超时异常。目前找到了两种方式来实现超时异常的功能(signal.alarm()、threading实现超时异常)方法1thread+time原理:将要调用的功能函数放入子线程,通过设定子线程的阻塞时间,超时则主线程并不会等待子线程

系统 2019-09-27 17:54:54 2169

Python

Python中的asyncio代码详解

asyncio介绍熟悉c#的同学可能知道,在c#中可以很方便的使用async和await来实现异步编程,那么在python中应该怎么做呢,其实python也支持异步编程,一般使用asyncio这个库,下面介绍下什么是asyncio:asyncio是用来编写并发代码的库,使用async/await语法。asyncio被用作多个提供高性能Python异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio往往是构建IO密集型和高层级

系统 2019-09-27 17:54:52 2169

Python

python实现翻转棋游戏(othello)

利用上一篇的框架,再写了个翻转棋的程序,为了调试minimax算法,花了两天的时间。几点改进说明:拆分成四个文件:board.py,player.py,ai.py,othello.py。使得整个结构更清晰,更通用,更易于维护。AI的水平跟minimax的递归深度,以及评价函数有关。基于此,我把minimax和评价函数都放到AI类里面AIPlayer使用了多重继承。继承了Player与AI两个类Game类中把原run函数里的生成两个玩家的部分提出来,写成一个

系统 2019-09-27 17:54:46 2169

Python

零基础写python爬虫之打包生成exe文件

1.下载pyinstaller并解压(可以去官网下载最新版):https://github.com/pyinstaller/pyinstaller/2.下载pywin32并安装(注意版本,我的是python2.7):https://pypi.python.org/pypi/pywin323.将项目文件放到pyinstaller文件夹下面(我的是baidu.py):4.按住shift键右击,在当前路径打开命令提示行,输入以下内容(最后的是文件名):pytho

系统 2019-09-27 17:54:46 2169

Python

python向字符串中添加元素的实例方法

Python中的字符串对象是不能更改的,也即直接修改字符串中的某一位或几位字符是实现不了的,即python中字符串对象不可更改,但字符串对象的引用可更改,可重新指向新的字符串对象。+直接字符串外+元素name='zheng'print('mynameis'+name)%直接字符串外%(元素)一种字符串格式化的语法,基本用法是将值插入到%s占位符的字符串中。%s,表示格式化一个对象为字符name='zhang'age='25'print('mynameis%

系统 2019-09-27 17:53:52 2169