2017年10月23日

python 的高阶算法之堆排序

摘要: 利用完全二叉树的性质来进行堆的运算: 会利用到树的左右孩子判断性质 i=1(根)无双亲,若i>1,则其双亲就是(int/2),向下取整,子结点的编号整除2得到的就是父节点的编号,父结点如果是i,那么左孩子就是2i,右孩子就是2i+1,若2i>n则结点i无左孩子,即结点i为叶子结点,若 2i+1>n 阅读全文

posted @ 2017-10-23 13:05 pythonerLau 阅读(269) 评论(0) 推荐(0) 编辑

functools模块用途

摘要: partial 偏函数,把函数部分的参数固定下来,相当于为部分的参数添加了一个固定的默认值,形成了一个新的函数并返回 从partial生成的新函数,是对原函数的封装 lru_cache(maxsize=128,typed=Flase) least-recently-used装饰器,lru,最近最少使 阅读全文

posted @ 2017-10-23 13:05 pythonerLau 阅读(246) 评论(0) 推荐(0) 编辑

类型注解

摘要: python类型注解: python是动态语言,变量随时可以被赋值,且能赋值为不同的类型 python不是静态语言,变量类型在运行时才决定 动态语言弊端: 难发现,难使用;不做任何类型检查,只会在运行时才暴露出问题,函数的使用者看到时并不知道你的函数的设计,不知道该传入什么类型的数据 关于弊端解决的 阅读全文

posted @ 2017-10-23 13:05 pythonerLau 阅读(2498) 评论(0) 推荐(1) 编辑

高阶函数和装饰器

摘要: 高阶函数的定义: 函数也可以是对象,或者可以调用的对象 函数可以作为普通变量,参数,数值等等 数学概念: y =g(f(x)) 高阶函数应该是一个至少满足下面一个条件的函数 接受一个或多个函数作为参数 输出一个函数 自己写一个排序的函数: 自己实现sort排序之flag版: def sort(ite 阅读全文

posted @ 2017-10-23 13:04 pythonerLau 阅读(492) 评论(0) 推荐(0) 编辑

2017年10月16日

生成器

摘要: 生成器: 生成器值得时生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器 生成器函数 函数体中包含yield语句的函数,返回生成器对象 生成器对象,是一个可迭代对象,是一个迭代器 生成器对象,是延迟计算,惰性求值 生成器示例(1,1): de 阅读全文

posted @ 2017-10-16 09:11 pythonerLau 阅读(162) 评论(0) 推荐(0) 编辑

匿名函数

摘要: python 借助lamdba表达式创建匿名函数 格式: lamdba 参数列表:参数表达式 例如: lamdba x : x**2 使用lambda关键字来定义匿名函数 参数列表不需要小括号 冒号是用来分割参数列表和表达式的 不需要使用return,表达式的值,就是匿名函数返回值 lambda表达 阅读全文

posted @ 2017-10-16 09:10 pythonerLau 阅读(166) 评论(0) 推荐(0) 编辑

递归函数

摘要: 变量名解析原则LEGB local 本地作用域,局部作用域的命名空间,函数调用时创建,调用结束消亡 Enclosing,python2.2时引入嵌套函数,实现了闭包。就是函数嵌套的外部函数的命名空间 Global,全局作用域,即一个模块的命名空间,模块被import时创建,解释器退出消亡 Build 阅读全文

posted @ 2017-10-16 09:10 pythonerLau 阅读(152) 评论(0) 推荐(0) 编辑

摘要: 树: 非线性解构,每个元素可以有多个前驱和后继 树时n(n>=0)个元素的集合 当n=0时 称为空树 树只有一个特殊的没有前驱的元素,成为树的根ROOT 树中除了根节点外,其余元素只能有一个前驱,可以有零个或多个后继 递归定义 树T时n(n>=0)个元素的集合,n=0时,称为空树 有且只有一个特殊元 阅读全文

posted @ 2017-10-16 09:10 pythonerLau 阅读(156) 评论(0) 推荐(0) 编辑

函数 的 返回值作用域

摘要: 函数返回值; python函数 使用 return 返回语句 来 返回 ‘返回值’ 所有函数都有返回值,但是返回值可根据需求来判断是否需要 返回,没有return语句,会隐式返回 return None 一个函数可以 写入多个 return语句,但是只能有一个会被执行,且执行过后,函数调用完毕,会跳 阅读全文

posted @ 2017-10-16 09:09 pythonerLau 阅读(574) 评论(0) 推荐(0) 编辑

函数的封装解构

摘要: 函数的定义: 数学定义函数: y=f(x),y是x的函数,x是自变量 函数的作用: 为了复用,简单易懂 函数分类: 内建函数,如max(),reversed() 库函数,如math.ceil()等 利用def语句定义函数: def 函数名(型参列表): 函数体(代码块) [return 返回值] 函 阅读全文

posted @ 2017-10-16 09:08 pythonerLau 阅读(795) 评论(0) 推荐(0) 编辑

导航