目录第十五章、Python多线程之信号量和GIL1.信号量(Semaphore)2.GIL说明:第十五章、Python多线程之信号量和GIL1.信号量(Semaphore)信号量用来控制线程并发数的,Semaphore管理一个内置的计数器,每当调用acquire()时-1,调用release()时+1。计数器不能小于0,当计数器为0时,acquire()将阻塞线程至同步锁定状态,直到其他线程调用release()。其实就是控制最多几个线程可以操作同享资源。
系统 2019-09-27 17:51:26 2137
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。定义一个函数:def函数名(参数列表):函数体#定义一个没有参数,没有函数体实现的函数;pass相当于占位符,使定义函数满足语法要求,或者是先定义一个函数名,后面再实现其功能deffunc():pass#定义一个add函数,参数为a,b,返回a+b的结果:defadd(a,b):returna+bprint(add(1,2))3return函数最终返回的内容,如果没有写return,则默认返
系统 2019-09-27 17:50:30 2137
1.dict()创建字典复制代码代码如下:>>>fdict=dict((['x',1],['y',2]))>>>fdict{'y':2,'x':1}2.fromkeys()来创建一个"默认"字典,字典中元素具有相同的值复制代码代码如下:>>>ddict={}.fromkeys(('x','y'),-1)>>>ddict{'y':-1,'x':-1}3.遍历字典使用keys()遍历复制代码代码如下:>>>dict2={'name':'earth','port
系统 2019-09-27 17:50:06 2137
一、引用传递引用传递,实质是在传递内存地址二、函数默认值1、默认值参数在python中可以为函数的参数给予默认值,一旦某个存在默认值,那么如果在调用的时候,不传递这个参数,则按照默认值注意:在定义函数时,如果存在有默认值的参数,一定要写在没有默认值的参数后面,否则在调用时,无法确定参数到底传给哪个参数,程序就会报错。三、全局变量和局部变量1、全局变量就是定义在py文件中,能被任何函数、类能够正常访问的变量。2、局部变量定义在函数内部的变量,叫做局部变量注意
系统 2019-09-27 17:50:00 2137
首先,介绍一下编码类型:然后,再看一下编码类型的转换过程:python程序是在内存中运行,因此应该处理的是Unicode类型的字符串,文件或终端中的各种编码方式,可以理解为py3中的Bytes类型。Unicode只能在内存中使用Bytes是在文件存储和网络数据传输中使用记住我们的程序要处理的是Unicode类型下面看一下py2和py3中字符串的类型:py2:py3:看起来好像一样,都是str类型,其实对应的编码方式是不一样的,请看下图:这样是否看出区别了呢
系统 2019-09-27 17:49:37 2137
前言本文介绍如何使用Python制作一个简单的猜数字游戏。游戏规则玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所猜的数字与实际数字相比是“大(high)”还是“小(low)”,如此往复直到玩家猜对数字。准备好Python3首先,需要在计算机上安装Python。可以从Python官网下载并安装。本教程需要使用最新版的Python3(版本3.x.x)。确保选中将Python添加到PATH变量的框。如果不这样做,将很难运行该程序。现在
系统 2019-09-27 17:47:57 2137
logging模块logging模块是一个较庞大的模块。具有较完备的日志体系。主要分为:主体Logger-处理器-格式器logging为python内置模块,无需安装。导入方式:importlogging即可日志等级排序(弱->强)DEBUG
系统 2019-09-27 17:47:07 2137
Python3快速入门(十二)——NumPy一、NumPy简介1、NumPy简介NumPy(NumericalPython)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,同时对数组运算提供了大量的数学函数库。Numpy是一个运行速度非常快的数学库,内部解除了CPython的GIL,运行效率极好,主要用于数组计算,是大量机器学习框架的基础库,NumPy主要包括如下:(1)强大的N维数组对象ndarray(2)广播功能函数(3)整合C/C+
系统 2019-09-27 17:46:28 2137
这是用于序列化的两个模块:•json:用于字符串和python数据类型间进行转换•pickle:用于python特有的类型和python的数据类型间进行转换Json模块提供了四个功能:dumps、dump、loads、loadpickle模块提供了四个功能:dumps、dump、loads、loadimportpickledata={'k1':123,'k2':888}#dumps可以将数据类型转换成只有python才认识的字符串p_str=pickle.
系统 2019-09-27 17:38:10 2137
三目运算符也就是三元运算符一些语言(如Java)的三元表达式形如:判定条件?为真时的结果:为假时的结果result=xifxPython的三元表达式有如下几种书写方法:if__name__=='__main__':a=''b='True'c='False'#方法一:为真时的结果if判定条件else为假时的结果d=bifaelsecprint('方法一输出结果:'+d)#方法二:判定条件and为真时的结果or为假时的结果d=aandborcprint('方法
系统 2019-09-27 17:37:35 2137