- 博客(11)
- 收藏
- 关注
原创 Python的多线程编程
并行与并发 并行:指两个或多个事件在同一时刻发生 并发:是指两个或者多个事件在同一时间段发生 并行指的多个CPU,而并发主要是针对一个CPU而已。 并发的目的是充分利用处理器的每一个核,以达到最高的处理性能。 实现高并发是非常有必要的,因为系统的CPU资源是有限的,而在有限的前提下,充分利用每个CPU的执行效率就是高并发的任务。 GIL锁 GIL:Global Interpreter Lock(...
2019-11-17 22:16:41
161
原创 二叉树的一些重要方法及实现
二叉树的遍历 给定树节点: public static class TreeNode { public int value; public TreeNode left; public TreeNode right; public TreeNode(int data) { this.value = data; } public String toString() { r...
2019-11-15 20:41:32
144
原创 比经典快排更快的实现方法!
众所周知,快速排序已经是所有排序中最快的排序了,不然怎么叫快排?但是经典的快速排序还能再优化,实现真正的“快速”二字,当然时间复杂度依然是O(nlogn),这是目前排序最快的时间复杂度了。废话不多说,进入正题。 首先要从经典的荷兰国旗问题说起,leetcode上也有相似的问题,链接:Sort Colors,问题描述:给定一个数组,要求将数组分成三个部分,从左到右依次为<0、=0、>0的...
2019-11-08 23:32:22
188
原创 Python实用技巧:装包与解包
解包:就是将可迭代对象中的元素拆成单独的元素。 先看个简单的例子,拆分列表可以这么做: a, b, c = ['aaa', 'bbb', 'ccc'] print(a, b, c) 对字典进行解包: a, b, c = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'} print(a, b, c) 结果是:key1 key2 key3...
2019-10-28 16:58:51
348
原创 Python闭包的理解
什么是闭包?函数中嵌套函数,并且内部函数用到了外部函数的变量,那么就将 内部函数的代码与外部函数的变量统一封装在一起,然后返回内层函数的情况, 这就是闭包。闭包也是一种轻量级的对象 ...
2019-10-24 13:09:22
217
原创 Python面试必考点:浅拷贝与深拷贝
不可变对象是其元素不支持被修改 string的话有一个操作叫intern,在新建string对象时会检查其内容,如果在intern池内有一样的就会把引用指过去,所以id一样 至于字符串对象也是不可变对象,python有个intern机制,简单说就是维护一个字典,这个字典维护已经创建字符串(key)和它的字符串对象的地址(value),每次创建字符串对象都会和这个字典比较,没有就创建,重复了就用指针...
2019-10-20 17:06:20
200
原创 Python的可迭代对象与迭代器
什么是可迭代对象(Iterable)? 就是其内部实现了__iter__()函数,Python中的字符串(string)、列表(list)、字典(dict)都是可迭代对象,它们都可以被for循环。 那什么是迭代器(Iterator)? 它继承了Iterable, 并重写了__iter__(), 另外还实现了__next__()。 from collections.abc import Iter...
2019-10-11 20:06:09
296
原创 Python强大的yield关键字
文章目录什么是生成器(Generator)生成器的特点yield基本用法yield高级用法 什么是生成器(Generator) 生成器:只有在被调用的时候才会产生相应的数据,它实现了内置的__next__()方法,它也是一种特殊的迭代器。 为什么要用到生成器?:假如有一个list,存放着1G甚至更大的数据量,但其中的每个数据你想需要的时候再取(通俗点讲就是仅仅想要遍历这个列表)。如果你直接把它加载...
2019-10-09 21:31:15
155
原创 Python中必须要明白的绝对导入与相对导入
文章目录 导入语句的风格 Python的官方风格指南——PEP 8,在编写导入语句时有几个忠告。总结如下: 导入总是位于文件的顶部,在任何模块注释和文档字符串之后。 导入应该根据导入情况来划分。通常有三类: 标准库导入(Python的内置模块) 相关第三方导入(已安装且不属于当前应用程序的模块) 本地应用程序导入(属于当前应用程序的模块) 每一组导入应该被空行隔开。 在每个导入组中...
2019-09-26 17:04:36
541
原创 爬虫进阶之初探Scrapy
文章目录scrapy的组成部分scrapy流程图 scrapy的组成部分 组件 功能 是否需要手写实现 Engine(引擎) 总指挥(调度另外四个模块)负责数据和信号在不同模块间传递 否 Schedule(调度器) 它是一个队列,将Request对象入队列和出队列 否 Spider(爬虫) 处理引擎发来的response,1.提取需要数据;2.提取需要的url 是 Do...
2019-09-24 17:52:07
267
原创 Redis数据库的常用命令
文章目录Redis介绍Redis特点Redis连接Redis相关命令与演示常用命令字符串(String) Redis介绍 Redis(即 Remote Dictionary Server)是一个由Salvatore Sanfilippo写的key-value存储系统,它是一个开源的、内存型数据库。它支持多种数据结构,包括string(字符串)、list(列表)、set(集合)、zset(sorte...
2019-09-22 22:01:53
357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人