04 2019 档案

摘要:一 global global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。 D:\Python34\python.exe E:/PycharmProjects/Day3/globaltest.pyTraceback (most recent 阅读全文
posted @ 2019-04-29 15:23 あなたの相棒
摘要:和其他的RE表达式一样,但是匹配的子串可以通过group的名字 name来获取。即 result.group('name') (提示,字符串数字都是常量,所以关键字都可以被视为整型(hash结果))。组名必须是合法的python标识符(即满足python的变量定义规则),每一个组名在RE表达式中有且 阅读全文
posted @ 2019-04-28 13:22 あなたの相棒 阅读(5124) 评论(0) 推荐(1)
摘要:flags参数 忽略大小写 [‘P’, ‘p’] 多行模式 [‘我’][‘我’, ‘我’, ‘我’] 匹配任何字符 [’\n我’, ‘\n我’][] 阅读全文
posted @ 2019-04-28 11:41 あなたの相棒
摘要:一、简介 正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 二、正则表达式中常用的字符含义 1、普通字符和11个元字符: 匹配自身 abc abc . 阅读全文
posted @ 2019-04-28 11:27 あなたの相棒 阅读(213) 评论(0) 推荐(0)
摘要:正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子字符串。 将匹配的子字符串替换或者从某个字符串中取出符合某个条件的子字符串,或者是在指定的文章中抓取特定的字符串等。 Python处理正则表达式的模块是re模块,它 阅读全文
posted @ 2019-04-24 10:25 あなたの相棒
摘要:无名、有名分组 (1)正则表达式—无名分组 从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推。 需要注意的是,有一个隐含的全局分组(就是索引号为0的分组),就是整个正则 表达式匹配的结果 (2)正则表达式—有名分组 命名分组就是给具体有默认分组 阅读全文
posted @ 2019-04-24 10:24 あなたの相棒
摘要:1.re.split 语法: re.split(pattern, string[, maxsplit=0, flags=0]) 参数: pattern 匹配的正则表达式 string 要匹配的字符串。 maxsplit 分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。 >>>imp 阅读全文
posted @ 2019-04-24 10:23 あなたの相棒
摘要:正则表达式—修饰符 正则表达式可以包含一些标志修饰符来控制匹配模式,用在正则表达式处理函数中的flag参数中,为可选参数。 (1) re.I 全写(re.IGNORECASE) 表示使匹配时,忽略大小 (2) re.M 全写(re.MULTILINE) 多行匹配,影响 ^ 和 $的行为 (3) re 阅读全文
posted @ 2019-04-24 10:23 あなたの相棒
摘要:findall方法 相比其他方法,findall方法有些特殊。它的作用是查找字符串中所有能匹配的字符串,并以结果存于列表中,然后返回该列表 注意: match 和 search 是匹配一次 findall 匹配所有。 1 pattern.findall方法 该方法的作用是在string[pos, e 阅读全文
posted @ 2019-04-24 10:22 あなたの相棒
摘要:1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。 (1)函数语法: 函数参数说明: pattern 匹配的正则表达式 string 要匹配的字符串 flgs 标志位,用于控制正则表达式的匹配方式 我们可以使用 阅读全文
posted @ 2019-04-24 10:21 あなたの相棒
摘要:编译正则表达式-- re.compile 使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True)),最后使用Match实例获取信息,进行其他的操作。 可以把那些经常使用的正则表达式编译成正则表达式 阅读全文
posted @ 2019-04-24 10:19 あなたの相棒
摘要:正则表达式—特殊表达式含义 正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义。 下面列出了正则表达式模式语法中的特殊元素。 1.普通字符集 1) \w 匹配字母数字及下划线 2) \W 匹配非字母数字及下划线 3) \s 匹配任意空白字符,等价于 [\t\n\r\ 阅读全文
posted @ 2019-04-24 10:18 あなたの相棒
摘要:一、 一、接口类单继承 我们来看一段代码去了解为什么需要接口类 四、扩展: 五、注意 阅读全文
posted @ 2019-04-23 17:50 あなたの相棒
摘要:将3.5版本中的68个内置函数,为了方便记忆,将这些内置函数进行了如下分类: 本节内容: 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(7个) 反射操作(8个) 变量操作(2个) 交互操作(2个) 文件操作(1个) 编译执行(4个) 装饰器(3个) 以下是Python3版本所有的 阅读全文
posted @ 2019-04-23 11:57 あなたの相棒
摘要:推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持: 列表推倒式: [结果 for 变量 in 可迭代对象 if 条件筛选]生成器表达式: (结果 for 变量 in 阅读全文
posted @ 2019-04-23 10:58 あなたの相棒
摘要:描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同 阅读全文
posted @ 2019-04-23 10:26 あなたの相棒
摘要:记得在刚开始学Python的时候,看到可迭代对象(iterable)、迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识。现在以自己的理解来详解下这三者的关系。 一、可迭代对象(iterable) 我们知道,在Python世界里,一切皆对象。对象根 阅读全文
posted @ 2019-04-23 09:32 あなたの相棒
摘要:map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map( 阅读全文
posted @ 2019-04-23 09:20 あなたの相棒
摘要:本节内容 我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有两个我们比较关注的结果: 早期的Python版本中,我们主要是通过os.system()、o 阅读全文
posted @ 2019-04-22 21:32 あなたの相棒
摘要:在同时需要用到index和value值的时候可以用到enumerate,参数为可遍历的变量,如字符串,列表等,返回enumerate类。 例: import string s = string.ascii_lowercase e = enumerate(s) print s print list(e 阅读全文
posted @ 2019-04-22 17:42 あなたの相棒
摘要:本节主要记录一下列表生成式,生成器和迭代器的知识点 列表生成器 首先举个例子 现在有个需求,看列表 [0,1,2,3,4,5,6,7,8,9],要求你把列表里面的每个值加1,你怎么实现呢? 方法一(简单): 1 2 3 4 5 6 7 8 9 info = [0, 1, 2, 3, 4, 5, 6, 阅读全文
posted @ 2019-04-22 17:29 あなたの相棒
摘要:在函数编程中经常用到闭包。闭包是什么,它是怎么产生的及用来解决什么问题呢。给出字面的定义先:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a, 内层函数依旧传入一个参数b, 内层函数使用a和b, 最后返回内层函数)。这个从字面上很难理 阅读全文
posted @ 2019-04-22 17:24 あなたの相棒
摘要:本文内容包括: 文件的读写操作 文件的各种系统操作 存储对象 遍历文件 上代码: 按照博主的理解,每个元组代表的含义是线程处于某一个状态的影像。目录树的遍历过程就是由这一个一个的状态构成的。在每个状态下, 线程获得一个目录节点,同时获得这个目录节点下的所有目录节点和文件节点。 如果只需要获得单个目录 阅读全文
posted @ 2019-04-22 11:37 あなたの相棒
摘要:模式 描述r 打开一个文件为只读。文件指针置于该文件的开头。这是默认模式。rb 打开一个文件只能以二进制格式读取。文件指针置于该文件的开头。这是默认模式。r+ 打开用于读取和写入文件。文件指针将会在文件的开头。rb+ 打开用于读取和写入二进制格式的文件。文件指针将会在文件的开头。w 打开一个文件只写 阅读全文
posted @ 2019-04-22 11:18 あなたの相棒
摘要:split翻译为分裂。 split()就是将一个字符串分裂成多个字符串组成的列表。 split()当不带参数时以空格进行分割,当代参数时,以该参数进行分割。 // 当不带参数时 example: st0= ' song huan gong ' print(st0.split()) 结果为: ['so 阅读全文
posted @ 2019-04-22 10:26 あなたの相棒
摘要:函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回 一、函数说明1、joi 阅读全文
posted @ 2019-04-22 10:09 あなたの相棒
摘要:序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。 Fi 阅读全文
posted @ 2019-04-18 09:25 あなたの相棒
摘要:一、more命令 more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在 阅读全文
posted @ 2019-04-17 15:59 あなたの相棒
摘要:1.JsonResponse 是HttpResponse的一个子类(有很多的子类),用于帮助创建JSON编码的响应。他从父类继承大部分行为,并具有以下的不同点: 它的默认Content-Type头部设置为application/json。 (1)它的第一个参数 data,应该为一个 dict 实例。 阅读全文
posted @ 2019-04-11 15:11 あなたの相棒
摘要:定义: 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。 为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度 阅读全文
posted @ 2019-04-04 10:32 あなたの相棒
摘要:Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 class Queue.Queue(maxsize=0) FIFO即First in First Out,先 阅读全文
posted @ 2019-04-04 09:37 あなたの相棒
摘要:之前文章对python中进程池的原理、数据流以及应用从代码角度做了简单的剖析,现在让我们回头看看标准库中对进程池的实现都有哪些值得我们学习的地方。我们知道,进程池内部由多个线程互相协作,向客户端提供可靠的服务,那么这些线程之间是怎样做到数据共享与同步的呢?在客户端使用apply/map函数向进程池分 阅读全文
posted @ 2019-04-03 16:27 あなたの相棒
摘要:之前文章中介绍了python中multiprocessing模块中自带的进程池Pool,并对进程池中的数据结构和各个线程之间的合作关系进行了简单分析,这节来看下客户端如何对向进程池分配任务,并获取结果的。 我们知道,当进程池中任务队列非空时,才会触发worker进程去工作,那么如何向进程池中的任务队 阅读全文
posted @ 2019-04-03 16:26 あなたの相棒
摘要:python中两个常用来处理进程的模块分别是subprocess和multiprocessing,其中subprocess通常用于执行外部程序,比如一些第三方应用程序,而不是Python程序。如果需要实现调用外部程序的功能,python的psutil模块是更好的选择,它不仅支持subprocess提 阅读全文
posted @ 2019-04-03 16:25 あなたの相棒
摘要:Python实现多进程间通信的方式有很多种,例如队列,管道等。但是这些方式只适用于多个进程都是源于同一个父进程的情况。如果多个进程不是源于同一个父进程,只能用共享内存,信号量等方式,但是这些方式对于复杂的数据结构,例如Queue,dict,list等,使用起来比较麻烦,不够灵活。Manager是一种 阅读全文
posted @ 2019-04-02 17:38 あなたの相棒 阅读(208) 评论(0) 推荐(0)
摘要:1 2 3 4 5 6 7 8 mutex = threading.Lock() #锁的使用 #创建锁 mutex = threading.Lock() #锁定 mutex.acquire([timeout]) #释放 mutex.release() 1 2 3 4 5 6 7 8 mutex =  阅读全文
posted @ 2019-04-02 14:23 あなたの相棒
摘要:一、全局解释器锁(GIL) 1、什么是全局解释器锁 在同一个进程中只要有一个线程获取了全局解释器(cpu)的使用权限,那么其他的线程就必须等待该线程的全局解释器(cpu)使 用权消失后才能使用全局解释器(cpu),即时多个线程直接不会相互影响在同一个进程下也只有一个线程使用cpu,这样的机制称为全局 阅读全文
posted @ 2019-04-02 13:56 あなたの相棒
摘要:semaphore是一个内置的计数器 计数器不能小于0,当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。来看下面的代码: 执行结果: 可以看到,程序会在很短的时间内生成20个线程来打印一句话。 如果在主机执行IO密集型任务的时候再执行这种类型的程序时,计算机就有很大可 阅读全文
posted @ 2019-04-01 17:43 あなたの相棒