- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 【Python基础】详解匿名函数 lambda 和函数式编程
匿名函数在实际工作中同样举足轻重,它们往往很简短,就一行,并且有个很酷炫的名字——lambda。正确地运用匿名函数,能让我们的代码更简洁、易读。匿名函数基础匿名函数的关键字是 lambda,之后是一系列的参数,然后用冒号隔开,最后则是由这些参数组成的表达式。lambda argument1, argument2,... argumentN : expression匿名函数 lambda ...
2020-02-18 14:10:22 424
原创 【Python基础】自定义函数、闭包
函数是 Python 程序中不可或缺的一部分。一个规范的 Python 程序,除非代码量很少(比如 10 行、20 行以下),基本都应该由多个函数组成,这样的代码才更加模块化、规范化。函数基础简单来说,函数就是为了实现某一功能的代码段,只要写好以后,就可以重复利用。Python 中的函数大概是下面的这种形式:def name(param1, param2, ..., paramN): ...
2020-02-17 00:14:47 264
原创 【Python基础】修炼基本功:条件与循环
“条件与循环”,是 Python 编程中的基本功。它控制着代码的逻辑,把列表、元祖、字典、集合和字符串等一系列 Python 的基本数据类型串接起来,可以说是程序的中枢系统。如果把写程序比作盖楼房,那么条件与循环就是楼房的根基,其他所有东西都是在此基础上构建而成。毫不夸张地说,写一手简洁易读的条件与循环代码,对提高程序整体的质量至关重要。Python 的条件语句1.和其他语言不一样,我们不能在...
2020-02-16 13:21:23 202
原创 【Python基础】文件 I/O,JSON 序列化
Python I/O 基础最简单直接的输入来自键盘操作,input() 函数暂停程序运行,同时等待键盘输入;直到回车被按下,函数的参数即为提示语。name = input('your name:')gender = input('you are a boy?(y/n)')welcome_str = 'Welcome to the matrix {prefix} {name}.'welc...
2020-02-15 01:00:47 272
原创 【Python基础】字符串的一些小 tricks
字符串同样是 Python 中很常见的一种数据类型,比如日志的打印、程序中函数的注释、数据库的访问、变量的基本操作等等,都用到了字符串。字符串基础字符串是由独立字符组成的一个序列,通常包含在单引号(’’)双引号(" “)或者三引号之中(’’’ ‘’'或”"" “”",两者一样),Python 中单引号、双引号和三引号的字符串是一模一样的,没有区别,同时支持这三种表达方式很重要的一个原因就是,方...
2020-02-14 00:41:55 172
原创 【Python基础】字典、集合的工作原理
字典(dict)和集合(set)是两个很常见的数据结构,并且相比列表(list)和元组(tuple),性能进行了高度优化,在 Python 中被广泛使用,其重要性不言而喻。字典和集合的定义字典(dict)是一系列由键(key)和值(value)配对组成的元素的集合,在 Python3.7+中,字典被确定为有序的(注:Python3.6 之前是无序的,而在 Python3.6 中字典有序是一个 ...
2020-02-13 02:02:36 363
原创 【Python基础】列表和元组,该怎么选择?
在绝大多数编程语言中,集合的数据类型必须一致。不过,对于 Python 的列表和元组来说,并无此要求。实际上,列表和元组,都是一个可以放置任意数据类型的线性表。它们的区别是:列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。而元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。如果想对已有的元组做任何的改变,那就是只能重新开辟一块内存,...
2020-02-11 22:38:20 343 2
原创 知识点二十九:并行计算
前言时间复杂度是衡量算法执行效率的一种标准。但是,时间复杂度并不能直接跟性能划等号。在真实的软件开发中,即便在不降低时间复杂度的情况下,也可以通过一些优化手段,提升代码的执行效率。毕竟,对于实际的软件开发来说,即便是像 10%、20% 这样微小的性能提升,也是非常可观的。算法的目的就是为了提高代码执行的效率。那当算法无法再继续优化的情况下,我们该如何来进一步提高执行效率呢?针对这个问题有一种非...
2020-02-07 21:47:53 2736
原创 知识点二十八:索引
前言在实际的软件开发中,业务纷繁复杂,功能千变万化,但是,万变不离其宗,如果抛开这些业务和功能的外壳,其实它们的本质都可以抽象为“对数据的存储和计算”。对应到数据结构和算法中,那“存储”需要的就是数据结构,“计算”需要的就是算法。对于存储的需求,功能上无外乎增删改查。这其实并不复杂。但是,一旦存储的数据很多,那性能就成了这些系统要关注的重点,特别是在一些跟存储相关的基础系统(比如 MySQL ...
2020-02-06 17:13:41 387
原创 知识点二十七:位图、布隆过滤器
前言网页爬虫是搜索引擎中的非常重要的系统,负责爬取几十亿、上百亿的网页。爬虫的工作原理是,通过解析已经爬取页面中的网页链接,然后再爬取这些链接对应的网页。但是,同一个网页链接有可能被包含在多个页面中,这就会导致爬虫在爬取的过程中,重复爬取到相同的网页。那么,如何避免这些重复的爬取呢?最容易想到的方法就是,我们记录已经爬取过的网页链接(也就是uniform resource locator;UR...
2020-02-05 20:44:20 411
原创 知识点二十六:B树/B+树
前言数据库作为主流的数据存储系统,在日常的业务开发中有着举足轻重的地位。在工作中,为了加速数据库中数据的查找速度,常用的处理思路是对表中的数据创建索引。那数据库的索引到底是如何实现的呢?底层使用的是什么数据结构和算法呢?定义问题的需求思考的过程比结论更重要,解决问题的前提是定义清楚问题,那如何定义清楚问题呢?除了对问题进行详细的调研,还有一个办法,那就是,通过对一些模糊的需求进行假设,来限定...
2020-02-04 18:03:35 542
原创 知识点二十五:启发式搜索算法——A*算法
前言魔兽世界、仙剑奇侠传这类 MMRPG(Multiplayer Online Role-PlayingGame) 游戏中,有一个非常重要的功能,那就是人物角色的自动寻路。当人物处于游戏地图中的某个位置的时候,我们用鼠标点击另外一个相对较远的位置,人物就会自动地绕过障碍物走过去。这个功能是怎么实现的呢?路径搜索问题实际上,这是一个非常典型的路径搜索问题。人物的起点就是他当下所在的位置,终点就...
2020-02-03 18:05:09 15722 4
原创 知识点二十四:最短路径——Dijkstra 算法
前言像 Google 地图、百度地图、高德地图这样的地图软件,你只需要输入起始、结束地址,地图就会给你规划一条最优出行路线。这里说的最优路线,有很多种定义,比如最短路线、最少用时路线、最少红绿灯路线等等。那么,这些地图软件的最优路线是如何计算出来的吗?底层依赖了什么算法呢?图的最短路径问题关于图上的搜索算法,深度优先搜索和广度优先搜索这两种算法主要是针对无权图的搜索算法。而针对有权图,也就是...
2020-02-02 00:15:51 3301 1
MATLAB图像处理实例详解(高清PDF)
2018-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人