在代码实现上,线程的实现与进程的实现很类似,创建对象的格式都差不多,然后执行的时候都是用到start()方法,与进程的区别是进程是资源分配和调度的基本单位,而线程是CPU调度和分派的基本单位.其中多线程的模块处于threading 中的Thread. 多线程实现例子 #coding=utf-8 import threading import time def saySorry(): print("吃饭睡觉打豆豆") time.sleep(1) if __name__ == "…
正则表达式在爬虫项目中应用很广泛,主要方面就是在字符串处理方面,经常会涉及到字符串格式的校验,用起来经常要查看文档才能完成,所以抽了个时间将正则的内容复习了一下. Start re---导入re模块使用 #coding=utf-8 # 导⼊re模块 import re # 使⽤match⽅法进⾏匹配操作 result = re.match(正则表达式,要匹配的字符串) # 如果上⼀步匹配到数据的话,可以使⽤group⽅法来提取数据 result.group() 其中正则表达式就是Pattern,…
python的动态性 什么是动态性呢,简单地来说就是可以在运行时可以改变其结构,如:新的函数.对象.代码都可以被引进或者修改,除了Python外,还有Ruby.PHP.javascript等也是动态语言.下面是python中常用动态性 运行的过程中给对象绑定(添加)属性 >>> class Person(object): def __init__(self, name = None, age = None): self.name = name self.age = age >>…
元类引入 在多数语言中,类就是一组用来描述如何生成对象的代码段,在python中同样如此,但是在python中把类也称为类对象,是的,你没听错,在这里你只要使用class关键字定义了类,其解释器在执行时就会创建一个对象,但是这个对象比较特殊,它可以创建自己的实例对象(像其他语言一样).你可以对它进行下面的操作: 1. 你可以将它赋值给⼀个变量 2. 你可以拷⻉它 3. 你可以为它增加属性 4. 你可以将它作为函数参数进⾏传递 动态创建类 听起来python在这方面跟一些语言的差别了吧,没错它还可…
python实现进程的三种方式及其区别 在python中有三种方式用于实现进程 多进程中, 每个进程中所有数据( 包括全局变量) 都各有拥有⼀份, 互不影响 1.fork()方法 ret = os.fork() if ret == 0: #子进程 else: #父进程 这是python中实现进程最底层的方法,其他两种从根本上也是利用fork()方法来实现的,下面是fork()方法的原理示意图 getpid().getppid()方法 import os rpid = os.fork() if r…
*args 和 ** kwargs 的用法 首先,这两者在用法上都是用来补充python中对不定参数的接受. 比如下面的列子 def wrappedfunc(*args, **kwargs): print("%s called at %s"%(func.__name__, ctime())) 这是一个函数   其次,在调用时候 1.   wrappedfunc('1','2')#这样会自动将'1','2'这两个参数赋值给args 此时args这个变量就是一个list          …
Queue的使用 Queue在数据结构中也接触过,在操作系统里面叫消息队列. 使用示例 # coding=utf-8 from multiprocessing import Queue q = Queue(3) # 初始化⼀个Queue对象, 最多可接收三条put消息 q.put("消息1") q.put("消息2") print(q.full()) # False q.put("消息3") print(q.full()) # True # 因为…
PDB调试 def getAverage(a,b): result =a+b print("result=%d"%result) return result a=100 b=200 c=a+b ret = getAverage(a,b) print(ret) #l--->>list current code #n--->> next #c---->>continue #b--->>>添加断点 #clear -->>>…
比较符号如<,>,=比较的是对象的值 如果要比较对象本身要用is,is not repr()的功能与''所做的事情是一样的 Python不支持的类型有char,byte,指针,short,long,double python缓存了(-1,100)使用这个范围的数字,如果是同一个值,内存地址一样,所以用is函数判断结果是True,不在这个范围的就是False…
近几年,Python一路高歌猛进,成为最受欢迎的编程语言之一,受到无数编程工作者的青睐. 据悉,Python已经入驻部分小学生教材,可以预见学习Python将成为一项提高自身职业竞争力的必修课.那么零基础的学习者应该怎么开始学习呢?本文将分享给大家关于Python核心知识学习的思维导图,一起来看看吧! 近几年,Python一路高歌猛进,成为最受欢迎的编程语言之一,受到无数编程工作者的青睐. 据悉,Python已经入驻部分小学生教材,可以预见学习Python将成为一项提高自身职业竞争力的必修课.那…