-
Python函数式编程指南(四):生成器
生成器是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。 这是函数式编程指南的最后一篇,似乎拖了一个星期才写好,嗯…… 转载请注明原作者和原文地址:) 4. 生成器(generator) 4.1. 生成器简介 首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代器完全相同,这意味着生成器也可以用于Python的for循环中。另外,对于生成器的特殊语法支持使得编写一个生成器比自定义一个常规的迭代器要简…
-
Python函数式编程指南(三):迭代器
这一篇我们将讨论迭代器。迭代器并不是函数式编程特有的东西,但它仍然是函数式编程的一个重要的组成部分,或者说是一个重要的工具。 转载请注明原作者和原文地址:) 3. 迭代器 3.1. 迭代器(Iterator)概述 迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。 迭代器不能回退,只能往前进行迭代。这并不是什么很大的缺点,因为人们几乎不需要在迭代途中进行回退操作。 迭代器也不是线程安全的,在多线程环境中对可变集合使用迭代器是一个危险的操作。…
-
Python函数式编程指南(二):函数
这是此系列的第二篇,试图说明在Python中如何更好地使用函数并引导诸位使用函数式的思维进行思考。掌握并应用这些内容,就已经是至少形似的函数式风格的代码了,至于思维么,这个真靠自己。 作者水平有限,如有错漏之处还请指出;转载请注明原作者和原地址:) 2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: def add(x, y): return x + y 关于参数和返回值的语法细节可以参考其他文档,这里就略过了。 使用lambda可以定义简单的单行匿名函数。lambda的语法是:…
-
Python循环
Python循环 while #语法: while condition: block #当条件满足即condition为True,进入循环体,执行block #举例: flag=10 while flag: print(flag) flag -= 1 #如果flag=-10: flag=-10 while flag: print(flag) flag += 1 for for element in itratable: block #当迭代对象中有元素可以迭代,进入循环体,执行block ran…
-
Python数据类型之number?【每日一个知识点第107期-Python】
对于一个程序员来讲,数据类型的重要性无需多言。在Python3中,有多达六种数据类型,各类型均有自己独特的属性和操作方式。今天我们首先带大家来了解一下Python3的数据类型:Number。 Python3 支持 int、float、bool、complex(复数)。 在Python 3里,只有一种整数类型 int,表示为长整型,没有 Python2 中的 Long。 像大多数语言一样,数值类型的赋值和计算都是很直观的。 内置的 type() 函数可以用来查询变量所指的对象类型。 >>…
-
python 多重继承的应用?【每日一个知识点第104期-Python】
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗; Bat - 蝙蝠; Parrot - 鹦鹉; Ostrich - 鸵鸟。 如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次: 但是如果按照“能跑”和“能飞”来归类,我们就应该设计出这样的类的层次: 如果要把上面的两种分类都包含进来,我们就得设计更多的层次: 哺乳类:能跑的哺乳类,能飞的哺乳类; 鸟类:能跑的鸟类,能飞的鸟类。 这…
-
Python运算符优先级规则有哪些?【每日一个知识点第103期-Python】
在任何编程语言中,计算都是最基本的能力,一般来讲,计算可以通过运算符和操作数的组合来完成。Python支持的计算类型有很多,各自也都有使用的运算符。 在之前的知识点中我们已经了解各种类型的Python运算符,正如四则运算有其优先级规则,Python的各类运算符之间也同样有优先级的排序。 以下表格列出了从最高到最低优先级的所有运算符: 运算符 描述 ** 指数 (最高优先级) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 +…
-
Python成员运算符有哪些?【每日一个知识点第101期-Python】
在任何编程语言中,计算都是最基本的能力,一般来讲,计算可以通过运算符和操作数的组合来完成。Python支持的计算类型有很多,各自也都有使用的运算符,今天我们主要来看一下成员运算符。 Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。 运算符 描述 实例 in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 not in 如果在指定的序列中没有找到值返回 True,否则返回 Fals…
-
Python位运算符有哪些?【每日一个知识点第99期-Python】
在任何编程语言中,计算都是最基本的能力,一般来讲,计算可以通过运算符和操作数的组合来完成。Python支持的计算类型有很多,各自也都有使用的运算符,今天我们主要来看一下位运算符。 按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下: a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011…
-
Python赋值运算符有哪些?【每日一个知识点第97期-Python】
在任何编程语言中,计算都是最基本的能力,一般来讲,计算可以通过运算符和操作数的组合来完成。Python支持的计算类型有很多,各自也都有使用的运算符,今天我们主要来看一下赋值运算符。 以下假设变量a为10,变量b为20: 运算符 描述 实例 = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c += 加法赋值运算符 c += a 等效于 c = c + a -= 减法赋值运算符 c -= a 等效于 c = c - a *= 乘法赋值运算符 c *= a 等效于 c = …