Python

python线程同步

一概念线程同步,线程间协同,通过某种技术,让一个线程访问某些数据时,其他线程不能访问这个数据,直到该线程完成对数据的操作为止。临界区(criticalsection所有碰到的都不能使用,等一个使用完成),互斥量(Mutex一个用一个不能用),信号量(semaphore),事件event二event1概念event事件。是线程间通信机制中最简单的实现,使用一个内部标记的flag,通过flag的True或False的变化来进行操作。2参数详解名称含义set()

系统 2019-09-27 17:50:52 2564

Python

LeetCode:翻转链表||(python)

1.题目描述反转从位置m到n的链表。请使用一趟扫描完成反转。说明:1≤m≤n≤链表长度。示例:输入:1->2->3->4->5->NULL,m=2,n=4输出:1->4->3->2->5->NULL2.思路题目要求一趟遍历。处理链表的题,一般会生成一个dummyNode,使得dummyNode指向链表的头结点。另外需要先定位到要反转链表的开始节点,并标记开始节点的前一节点,使得在翻转的过程中,始终能找到这一节点。假设要反转的链表段如下:1—>2—>3翻转过

系统 2019-09-27 17:50:18 2564

Python

Python3标准库总结

Python3标准库操作系统接口os模块提供了不少与操作系统相关联的函数。>>>importos>>>os.getcwd()#返回当前的工作目录'C:\\Python34'>>>os.chdir('/server/accesslogs')#修改当前的工作目录>>>os.system('mkdirtoday')#执行系统命令mkdir0建议使用"importos"风格而非"fromosimport*"。这样可以保证随操作系统不同而有所变化的os.open()

系统 2019-09-27 17:49:47 2564

Python

Python写的贪吃蛇游戏例子

第一次用Python写这种比较实用且好玩的东西,权当练手吧游戏说明:*P键控制“暂停/开始”*方向键控制贪吃蛇的方向源代码如下:复制代码代码如下:fromTkinterimport*importtkMessageBox,sysfromrandomimportrandintclassGrid(object):def__init__(self,master=None,window_width=800,window_height=600,grid_width=5

系统 2019-09-27 17:48:18 2564

Python

python对文件目录的操作方法实例总结

本文实例讲述了python对文件目录的操作方法。分享给大家供大家参考,具体如下:python可以很方便的对文件进行打开,读写操作,删除操作,也可以很方便的对文件夹进行遍历操作。总体说来,有如下几个方面:1.python遍历文件目录,当然可以递归2.python删除文件3.python对文件进行重命名操作4.python创建文件夹(多个层级创建)5.python删除文件夹(多个层级删除)6.python移动文件7.python查找文件8.得到文件夹的大小下面

系统 2019-09-27 17:57:25 2563

Python

Python实现中缀表达式转后缀表达式

中缀表达式转后缀表达式初始化两个栈,一个放后缀表达式exp,一个放操作符ops1遇到数字,放到exp中2遇到左括号,放入ops3遇到右括号,就把ops的弹出到exp中,直到遇到左括号,这样消除一对括号4遇到操作符,比较当前的ops,和栈顶ops的优先级,如果当前的比较高,就入ops,不然,就把栈顶的弹出,直到可以入。5扫描完以后,ops还有运算符,直接放入exp。ops_rule={'+':1,'-':1,'*':2,'/':2}defmiddle_to_

系统 2019-09-27 17:56:28 2563

Python

Python中单线程、多线程和多进程的效率对比实验实例

python的多进程性能要明显优于多线程,因为cpython的GIL对性能做了约束。Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程(Thread)的情况下,不能发挥多核的优势。而使用多进程(Multiprocess),则可以发挥多核的优势真正地提高效率。对比实验资料显示,如果多线程的进程是CPU密集型的,那多线程并不能有多少效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降,推荐使用多进程;如果

系统 2019-09-27 17:56:12 2563

Python

python实现调用摄像头视频时用图片挡脸技术

体验一把某主播的快乐!添加好图片后,可以直接运行。importcv2if__name__=='__main__':#调用摄像头video=cv2.VideoCapture(0);#数据参数face_detector=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml");k_face=cv2.imread("1.jpg")#循环调用摄像头获取-图片数据#从摄像头中获取图片#第一个参数:获取成功FAL

系统 2019-09-27 17:56:04 2563

Python

python爬虫增加访问量的方法

看着自己少得可怜的访问量,突然有一个想用爬虫刷访问量的想法,主要也是抱着尝试的心态,学习学习。其实市面上有一些软件可以代刷流量比如流量精灵,使用感确实比我们自己写的代码要好一些第一版:网上借鉴了一下以下代码运行在python3importurllib.requestimporttime#使用build_opener()是为了让python程序模仿浏览器进行访问opener=urllib.request.build_opener()opener.addhea

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

Python

Mac安装多个Python版本

简介利用Mac包管理工具brew安装pyenv,pyenv用来管理所有python版本。如果没有安装brew,先安装一下吧。安装pyevn$brewinstallpyenv$pyenv-vpyenv1.2.6查看所有的python版本(pyenv管理的所有版本)$pyenvversions*system(setby/Users/xxx/.pyenv/version)*表示当前正在使用的版本,system表示用的是系统python版本查看可安装python版

系统 2019-09-27 17:50:15 2563

Python

Python面试准备(三)之 python数据类型

数据类型数据类型-字符串列举Python中的基本数据类型?答:Python3中有六个标准的数据类型:字符串(String)、数字(Digit)、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)。如何区别可变数据类型和不可变数据类型答:从对象内存地址方向来说可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的key值必须是不可变类型)不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔

系统 2019-09-27 17:48:33 2563

Python

Python时间序列缺失值的处理方法(日期缺失填充)

前言因近期进行时间序列分析时遇到了数据预处理中的缺失值处理问题,其中日期缺失和填充在网上没有找到较好较全资料,耗费了我一晚上工作时间,所以下面我对这次时间序列缺失值处理学习做了以下小结以供之后同行们参考指正。时间序列缺失值处理一、编程前准备收集时间序列数据,相信看这篇博客的各位已经完成了这步。需要安装pandas模块,并利用Python的Lib文件夹自带的datetime库(当时我因为在Pycharm环境中没看到datetime模块又去安装了DateTim

系统 2019-09-27 17:46:41 2563

Python

Python:计算样本协方差矩阵

importnumpyasnpx=np.array([2,4,5,3,6,9,40,25,32])print(np.cov(x)*8)print(np.var(x)*9)y=np.array([[1,5,6],[4,3,9],[4,2,9],[4,7,2]])print(y.shape)print(np.cov(y,rowvar=False))#其中rowvar是布尔类型。默认为true是将行作为独立的变量、如果是flase的话,则将列作为独立的变量。#4

系统 2019-09-27 17:46:10 2563

Python

10进制数转换为负进制数(Python实现)

最近加Python群的时候看到一个验证——群号用负7进制如何表示,我看了一愣,忽然想起来进制确实也可以是负的只不过我们的工作学习中很少涉及,故此写了个程序计算负进制数的转换,值得一提的是python语法的设计上与传统的C/Java/C++不同,整除的时候所求得的商C/C++/Java是向零取整(负数向上、正数向下取整),Python是下取整,详细代码见如下:#!/usr/bin/envpython#-*-coding:utf-8-*-importmath#

系统 2019-09-27 17:56:14 2562

Python

实例详解Python模块decimal

Python提供了decimal模块用于十进制数学计算,它具有以下特点:1.提供十进制数据类型,并且存储为十进制数序列;2.有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x来设定,不同的数字可以有不同的精度3.浮点:十进制小数点的位置不固定(但位数是固定的)decimal的构建:可以通过整数、字符串或者元组构建decimal.Decimal,对于浮点数需要先将其转换为字符串decimal的context:

系统 2019-09-27 17:55:59 2562