python的各版本的不同
摘要:Python的版本主要分为 2.× 、 3.× 两个系列。 Python3计划每年发布一个新的子版本,一次只增加一两种新语法。 使用时当然选择越新的Python版本越好,版本越老的代码越难维护。 维护老版本的代码时,需要了解各版本之间的主要差异。有时看到一些代码的语法特点,可以大致猜出它是什么版本。
阅读全文
posted @
2020-08-24 10:26
滚雪球效应
阅读(4001)
推荐(0)
python00
摘要:# Python* [什么是 Python 生成器?](#什么是-Python-生成器)* [什么是 Python 迭代器?](#什么是-Python-迭代器)* [list 和 tuple 有什么区别?](#list-和-tuple-有什么区别)* [Python 中的 list 和 dict 是
阅读全文
posted @
2020-07-28 09:31
滚雪球效应
阅读(148)
推荐(0)
python语言特性
摘要:Python语言特性 1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun(a) print a # [1] 所有的变量都可以理解是内存中一个对象的“引
阅读全文
posted @
2020-07-18 16:04
滚雪球效应
阅读(231)
推荐(0)
python动态规划
摘要:动态规划: 动态规划表面上很难,其实存在很简单的套路:当求解的问题满足以下两个条件时, 就应该使用动态规划: 主问题的答案 包含了 可分解的子问题答案 (也就是说,问题可以被递归的思想求解) 递归求解时, 很多子问题的答案会被多次重复利用 动态规划的本质思想就是递归, 但如果直接应用递归方法, 子问
阅读全文
posted @
2020-07-18 16:02
滚雪球效应
阅读(444)
推荐(0)
python语言编程算法
摘要:编程题 1 台阶问题/斐波那契 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 fib = lambda n: n if n <= 2 else fib(n - 1) + fib(n - 2) 第二种记忆方法 def memo(func): cache =
阅读全文
posted @
2020-07-18 15:56
滚雪球效应
阅读(318)
推荐(0)
python中的元类metaclass
摘要:ORM(O/R Mappping对象关系映射)的基础概念 在我们的系统中,存在大量的需要进行持久化存储的对象,这些对象可能是各种各样的业务单据,也可能是我们的系统配置信息等。另外一些属于内存中使用而不需要进行持久化存储的对象,不属于我们的讨论范围。而在支持对象序列化的语言比如C#,Java中,我们可
阅读全文
posted @
2020-07-17 22:52
滚雪球效应
阅读(138)
推荐(0)
1.python的函数参数传递
摘要:1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun(a) print a # [1] 所有的变量都可以理解是内存中一个对象的“引用”,或者,也可以看似
阅读全文
posted @
2020-07-17 21:19
滚雪球效应
阅读(213)
推荐(0)
枚举类
摘要:枚举类的使用 实际开发中,我们离不开定义常量,当我们需要定义常量时,其中一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ... NOV = 11 DEC = 12 当然这样做简单快捷,缺点是类型是 int ,并且仍然是变量。 那有没有什么好的方法呢?
阅读全文
posted @
2020-07-16 22:26
滚雪球效应
阅读(169)
推荐(0)
元类
摘要:Python 中类也是对象 在了解元类之前,我们先进一步理解 Python 中的类,在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在 Python 中这一点也是一样的。 这点在学习类的章节也强调过了,下面可以通过例子回忆一下: class ObjectCreator(object)
阅读全文
posted @
2020-07-16 22:24
滚雪球效应
阅读(150)
推荐(0)
进程
摘要:进程 Python 中的多线程其实并不是真正的多线程,如果想要充分地使用多核 CPU 的资源,在 Python 中大部分情况需要使用多进程。 Python 提供了非常好用的多进程包 multiprocessing,只需要定义一个函数,Python 会完成其他所有事情。 借助这个包,可以轻松完成从单进
阅读全文
posted @
2020-07-16 22:19
滚雪球效应
阅读(383)
推荐(0)
线程与进程
摘要:线程与进程 线程与进程是操作系统里面的术语,简单来讲,每一个应用程序都有一个自己的进程。 操作系统会为这些进程分配一些执行资源,例如内存空间等。 在进程中,又可以创建一些线程,他们共享这些内存空间,并由操作系统调用,以便并行计算。 我们都知道现代操作系统比如 Mac OS X,UNIX,Linux,
阅读全文
posted @
2020-07-16 22:16
滚雪球效应
阅读(286)
推荐(0)
python正则表达式
摘要:Python 正则表达式 正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。 Python 自 1.5 版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功
阅读全文
posted @
2020-07-16 22:14
滚雪球效应
阅读(187)
推荐(0)
Magic Method
摘要:Python 的 Magic Method 在 Python 中,所有以 "__" 双下划线包起来的方法,都统称为"魔术方法"。比如我们接触最多的 __init__ 。 魔术方法有什么作用呢? 使用这些魔术方法,我们可以构造出优美的代码,将复杂的逻辑封装成简单的方法。 那么一个类中有哪些魔术方法呢?
阅读全文
posted @
2020-07-16 22:10
滚雪球效应
阅读(190)
推荐(0)
闭包
摘要:time = 0 def insert_time(min): time = time + min return time print(insert_time(2)) print(insert_time(10)) 认真想一下,会不会有什么问题呢? 其实,这个在 Python 里面是会报错的。会报如下错
阅读全文
posted @
2020-07-16 20:37
滚雪球效应
阅读(136)
推荐(0)
装饰器
摘要:装饰器函数一般做这三件事: 接收一个函数作为参数 嵌套一个包装函数, 包装函数会接收原函数的相同参数,并执行原函数,且还会执行附加功能 返回嵌套函数 可是,认真一看这代码,这装饰器的写法怎么比函数式编程还麻烦啊。而且看起来比较复杂,甚至有点多此一举的感觉。 那是因为我们还没有用到装饰器的 “语法糖”
阅读全文
posted @
2020-07-16 20:36
滚雪球效应
阅读(124)
推荐(0)
使用Python虚拟环境
摘要:python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布。 virtualenv virtualenv可用于创建独立的 Python 环境,它会创建一个包含项目所必须要的执行文件。
阅读全文
posted @
2020-07-16 20:32
滚雪球效应
阅读(228)
推荐(0)
python 关键字yield
摘要:问题 Python 关键字 yield 的作用是什么?用来干什么的? 比如,我正在试图理解下面的代码: def node._get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distanc
阅读全文
posted @
2020-07-16 20:26
滚雪球效应
阅读(349)
推荐(0)
模块与包
摘要:Python 模块简介 在开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 后面我们学习了函数,知道函数是实现一项或多项功能的一段程序,这样就更方便我们重复使用代码。 紧接着,我们有学了类,类可以封装方法和变量(属性)。这样就更方便我们维护代码了。 我们之前学过,类
阅读全文
posted @
2020-07-16 20:21
滚雪球效应
阅读(154)
推荐(0)
面向对象
摘要:一、面向对象的概念 1、面向对象的两个基本概念 编程语言中,一般有两种编程思维,面向过程和面向对象。 面向过程,看重的是解决问题的过程。 这好比我们解决日常生活问题差不多,分析解决问题的步骤,然后一步一步的解决。 而面向对象是一种抽象,抽象是指用分类的眼光去看世界的一种方法。 Python 就是一门
阅读全文
posted @
2020-07-16 20:08
滚雪球效应
阅读(305)
推荐(0)
迭代器和生成器
摘要:一、迭代 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历这个 list 或 tuple ,这种遍历就是迭代。 可是,Python 的 for 循环抽象程度要
阅读全文
posted @
2020-07-16 19:41
滚雪球效应
阅读(229)
推荐(0)