搜索到与相关的文章
Python

第十五章、Python多线程之信号量和GIL

目录第十五章、Python多线程之信号量和GIL1.信号量(Semaphore)2.GIL说明:第十五章、Python多线程之信号量和GIL1.信号量(Semaphore)信号量用来控制线程并发数的,Semaphore管理一个内置的计数器,每当调用acquire()时-1,调用release()时+1。计数器不能小于0,当计数器为0时,acquire()将阻塞线程至同步锁定状态,直到其他线程调用release()。其实就是控制最多几个线程可以操作同享资源。

系统 2019-09-27 17:51:26 2156

Python

python WordCloud 实现词云

简单示例frommatplotlibimportpyplotaspltfromwordcloudimportWordCloudfilename="text.txt"#文本路径withopen(filename,encoding="utf-8")asf:data=f.read()font=r'C:\Windows\Fonts\FZSTK.TTF'wc=WordCloud(font_path=font,#如果是中文必须要添加字体background_color

系统 2019-09-27 17:50:12 2156

Python

用Python的SimPy库简化复杂的编程模型的介绍

在我遇到SimPy包的其中一位创始人KlausMiller时,从他那里知道了这个包。Miller博士阅读过几篇提出使用Python2.2+生成器实现半协同例程和“轻便”线程的技术的可爱的Python专栏文章。特别是(使我很高兴的是),他发现在用Python实现Simula-67样式模拟时,这些技术很有用。结果表明TonyVignaux和ChangChui以前曾创建了另一个Python库,它在概念上更接近于Simscript,而且该库使用了标准线程技术,而不

系统 2019-09-27 17:49:52 2156

Python

leetcode-python-day9-第16题

========坚持30天刷leetcode=====题目链接:https://leetcode-cn.com/problems/3sum-closest/先上结果:分析:关键在于特殊情况的判断,减少遍历。classSolution:defthreeSumClosest(self,nums,target):k=len(nums)ifk<3:returnNone#特殊情况:数组小于3ifk==3:returnsum(nums)#特殊情况:数组等于3nums.

系统 2019-09-27 17:49:00 2156

Python

Python学习:time模块,datetime 模块

计算机的系统时钟设置为特定的日期、时间和时区。内置的time模块让Python程序能读取系统时钟的当前时间。在time模块中,time.time()和time.sleep()函数是最有用的模块。time模块time.time()函数Unix纪元是编程中经常参考的时间:1970年1月1日0点,即协调世界时(UTC)。time.time()函数返回自那一刻以来的秒数,是一个浮点值(回想一下,浮点值只是一个带小数点的数)。这个数字称为UNIX纪元时间戳。纪元时间

系统 2019-09-27 17:48:32 2156

Python

详细讲解用Python发送SMTP邮件的教程

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。首先,我们来构造一个最简单的纯文本邮件:fromemail.mime.textimportMIMETextmsg=MIMEText('hello,sendbyPython...','plain','utf-8')注意到构造MIMETe

系统 2019-09-27 17:48:30 2156

Python

python坦克大战小游戏,打包为exe文件

今天发现了一个好玩的小项目,做的就是坦克大战的,看到它的一瞬间让我想起了小时候泡在4399网站里面的时光了,我果断下载下来跑了起来,做的还是可以的,这里的可以就是说视觉效果上的可以,至于具体内容细节什么还是有一些bug的,比如我自己摧毁“老窝”的时候居然没有游戏结束,等等。既然项目别人已经做好了,我就不多做什么工作了,想着运行py脚本多麻烦,能够把游戏打包成为exe文件就好了,想到这里就开始着手进行游戏的打包工作,这里主要使用的是pyinstaller模块

系统 2019-09-27 17:47:08 2156

Python

Python列表删除元素del、pop()和remove()的区别小结

前言在python列表的元素删除操作中,del,pop(),remove()很容易混淆,下面对三个语句/方法作出解释del语句del语句可以删除任何位置处的列表元素,若知道某元素在列表中的位置则可使用del语句.例:>>>a=[3,2,2,1]>>>dela[1]>>>a[3,2,1]pop()方法pop()可删除任意位置的元素并将其返回,只需在括号内指定要删除元素的索引即可,当括号内为空时则删除该列表最后一个元素并将其返回.例1:>>>a=[3,2,1]

系统 2019-09-27 17:46:31 2156

Python

python-cookbook

PYTHON-COOKBOOK文章目录PYTHON-COOKBOOK一:数据结构和算法1、Heapq取出最大或最小的几个元素优先级队列2、字典多值字典字典排序字典列表排序字典共同点和不同点3、collections保留最后几个元素频率统计命名元组字典(映射)联合查找4、其他解压赋值去重且保持顺序切片分组一:数据结构和算法三个基本的写法:列表生成式字典生成式迭代器生成式1、Heapq取出最大或最小的几个元素#最大或者最小的n个元素importrandomfr

系统 2019-09-27 17:46:20 2156

Python

【Linux】Ubuntu18.04配置python3.6开发环境

1切换Ubuntu默认python版本Ubuntu18.04默认python为2.7版本,命令行输入python显示的即为默认。内置的python3.6版本需要输入python3进行调用。亲测可行1.1方法一:修改优先级sudoupdate-alternatives:--install<需要链接地址><链接名称><路径><优先级>需要链接地址:/usr/bin/python链接名称:python路径:/usr/bin/python2.7或/usr/bin/

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