上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: var声明定义了两个string类型的变量s和sep。变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的零值(zero value),数值类型是0,字符串类型是空字符串""。 表示连接字符串sep和os.Args。程序中使用的语 是一条赋值语句, 将s的旧值跟sep与os.Ar 阅读全文
posted @ 2019-10-14 23:24 顽强的allin 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 解析源码中的装饰器时,Python 把被装饰的函数作为第一个参数传给装 饰器函数。那怎么让装饰器接受其他参数呢?答案是:创建一个装饰器 工厂函数,把参数传给它,返回一个装饰器,然后再把它应用到要装饰 的函数上。不明白什么意思?当然。下面以我们见过的最简单的装饰器 为例说明: registry = s 阅读全文
posted @ 2019-10-14 18:10 顽强的allin 阅读(319) 评论(0) 推荐(0) 编辑
摘要: clock 装饰器 def clock(func): @functools.wraps(func) def clocked(*args, **kwargs): t0 = time.perf_counter() result = func(*args, **kwargs) elapsed = time 阅读全文
posted @ 2019-10-14 14:32 顽强的allin 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 必须恰当导入需要的包,缺少了必要的包或者导入了不需要的包,程序都无法编译通过。这项严格要求避免了程序开发过程中引入未使用的包(译注:Go语言编译过程没有警告信息,争议特性之一 import 声明必须跟在文件的 package 声明之后。随后,则是组成程序的函数、变量、常量、类型的声明语句(分别由关键 阅读全文
posted @ 2019-10-11 20:58 顽强的allin 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 在示例 7-4 中,我们定义并测试了一个函数,它读取两个变量的值:一 个是局部变量 a,是函数的参数;另一个是变量 b,这个函数没有定义 它。 示例 7-4 一个函数,读取一个局部变量和一个全局变量 >>> def f1(a): ... print(a) ... print(b) ... >>> f 阅读全文
posted @ 2019-10-11 18:15 顽强的allin 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 装饰器的一个关键特性是,它们在被装饰的函数定义之后立即运行。这 通常是在导入时(即 Python 加载模块时),如示例 7-2 中的 registration.py 模块所示。 示例 7-2 registration.py 模块 registry = [] def register(func): p 阅读全文
posted @ 2019-10-11 17:44 顽强的allin 阅读(1944) 评论(1) 推荐(0) 编辑
摘要: 装饰器是可调用的对象,其参数是另一函数(被装饰的函数),装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象。 假如有个名为 decorate 的装饰器: @decorate def target(): print('running target()') 上述代码的效果与 阅读全文
posted @ 2019-10-11 11:01 顽强的allin 阅读(139) 评论(0) 推荐(0) 编辑
摘要: global可以在任何地方修饰变量,而且被global修饰的变量直接被标识为全局变量,对该变量修改会影响全局变量的值,但不影响函数中未被global修饰的同名变量(依然是局部变量),nonlocal只能在嵌套函数(可能还有其他的地方,我还没有检查)中使用,用于标识嵌套函数中的变量是包含该嵌套函数的函 阅读全文
posted @ 2019-10-11 10:36 顽强的allin 阅读(478) 评论(0) 推荐(0) 编辑
摘要: globals() 返回一个字典,表示当前的全局符号表。这个符号表始终针对当前 模块(对函数或方法来说,是指定义它们的模块,而不是调用它们的模 块)。 promos = [globals()[name] for name in globals() ➊ if name.endswith('_promo 阅读全文
posted @ 2019-10-10 18:32 顽强的allin 阅读(126) 评论(0) 推荐(0) 编辑
摘要: operator模块 在函数式编程中,经常需要把算术运算符当作函数使用。例如,不使用 递归计算阶乘。求和可以使用 sum 函数,但是求积则没有这样的函数。 我们可以使用 reduce 函数(5.2.1 节是这么做的),但是需要一个函数 计算序列中两个元素之积。示例 5-21 展示如何使用 lambd 阅读全文
posted @ 2019-09-29 18:16 顽强的allin 阅读(544) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页