本来PHP还学艺不精,又报了计算机二级Python的考试,还有一个半月的时间,抓紧买了高教社的这两本书,今天正式开始学习这个语言,虽然没法和世界上最好的语言PHP相提并论,但是也值得一学。虽然先看蓝K,但是很喜欢黄K前言里的第一句话:“应试”是个中性词。设定一个阶段目标,为之努力,这是一种乐趣!正式开始:第1章程序设计基本方法1.1程序设计语言高级语言根据执行机制分为:静态语言(C、Java)、脚本语言(JavaScript、PHP、Python)。执行方
系统 2019-09-27 17:55:21 2096
锁在使用用的过程中需要导入threading模块的Lock类使用锁:当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定。锁的语法创建锁、锁定锁、释放锁fromthreadingimportLock#创建锁mutex=Lock()#获取锁(上锁)mutex.acquire()#释放锁(解锁)mutex.release()在锁定锁的过程中ac
系统 2019-09-27 17:55:04 2096
常见算法:一、排序引入1.排序与搜索排序算法(英语:Sortingalgorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。2.排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。18385672(4,1)(3,1)(3,7)(5,6)(3,7)(3,1)如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。不稳定排序算法可能会在相等的键值中改变纪录的相
系统 2019-09-27 17:54:46 2096
什么是可变/不可变对象不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。
系统 2019-09-27 17:54:37 2096
Python面向对象编程——总结面向对象的优点一、从代码级别看面向对象1、在没有学习类这个概念时,数据与功能是分离的defexc1(host,port,db,charset):conn=connect(host,port,db,charset)conn.execute(sql)returnxxxdefexc2(host,port,db,charset,proc_name)conn=connect(host,port,db,charset)conn.call
系统 2019-09-27 17:53:53 2096
列表推导与生成器表达式当我们创建了一个列表的时候,就创建了一个可以迭代的对象:复制代码代码如下:>>>squares=[n*nforninrange(3)]>>>foriinsquares:printi014这种创建列表的操作很常见,称为列表推导。但是像列表这样的迭代器,比如str、file等,虽然用起来很方便,但有一点,它们是储存在内存中的,如果值很大,会很麻烦。而生成器表达式不同,它执行的计算与列表包含相同,但会迭代的生成结果。它的语法与列表推导一样,
系统 2019-09-27 17:53:14 2096
上面我们学习了RDD如何转换,即一个RDD转换成另外一个RDD,但是转换完成之后并没有立刻执行,仅仅是记住了数据集的逻辑操作,只有当执行了Action动作之后才会真正触发Spark作业,进行算子的计算执行操作有:reduce(func)collect()count()first()take(n)takeSample(withReplacement,num,[seed])takeOrdered(n,[ordering])saveAsTextFile(path
系统 2019-09-27 17:52:33 2096
yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`
系统 2019-09-27 17:52:18 2096
一、安装mysql如果是windows用户,mysql的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。Linux下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux仓库中都会有mysql,我们只需要通过一个命令就可以下载安装:Ubuntu\deepin复制代码代码如下:>>sudoapt-getinstallmysql-server>>Sudoapt-getinstallmysql-clientcentOS/redhat复
系统 2019-09-27 17:51:15 2096
在网络通信中,每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接。所以我们尝试使用协程来实现服务器对多个客户端的响应。与单一TCP通信的构架一样,只是使用协程来实现多个任务同时进行。#服务端importsocketfromgeventimportmonkeyimportgeventmonkey.patch_all()defhandle_conn(seObj):whileTrue:re_Data=seObj.r
系统 2019-09-27 17:50:26 2096