装饰器——闭包

# 装饰器  闭包

'''

    如果一个内部函数对外部(非全局)的变量进行了引用,那么内部函数被认为是闭包

    闭包 = 函数块  +  定义时的函数环境

'''

def f():
x = 100
y = 200 def mytext():
return x + y return mytext s=f()
print(s())

装饰器——高潮1

import time

def foo():
print("foo..........")
time.sleep(2) def root():
print("root---------")
time.sleep(1) def get_time(h):
start = time.time()
h
stop = time.time()
print("运行时间为: %s" % (stop - start)) get_time(root())

装饰器——高潮2

import time

def get_time(h):
def inner():
start = time.time()
h()
stop = time.time()
print("运行时间为: %s" % (stop - start)) return inner @get_time
def foo():
print("foo..........")
time.sleep(2) @get_time
def root():
print("root---------")
time.sleep(1) foo()

装饰器——函数功能添加参数

import time

def get_time(f):
def inner(*s):
start = time.time()
f(*s)
end = time.time()
print("使用时长为: %s" % (end - start)) return inner @get_time
def add(*a):
sum = 0
for i in a:
sum += i;
print(sum)
time.sleep(2) add(2, 3, 5, 7)

列表生成式

# 列表生成式
a = [x * x for x in range(10)]
print(a)

列表生成器

# 列表生成器

s = (x * 2 for x in range(5))
# print(s) # print(s.__next__())
print(next(s)) print(next(s))
print(next(s))
print(next(s))
print(next(s)) print("*-*--**--*--*-*-*-*---*") def foo():
print("ok1")
yield 1
print("ok2")
yield 2 g = foo()
# next(g)
# next(g)
for i in g:
# while True:
# i = next(foo())
print(i)
print("/*//***/*/***//*/**/*") a = [1, 2, 3]

斐波那契数列

def fib(m):
i, a, b = 0, 0, 1
while i < m:
print(b)
a, b = b, a + b
i += 1 # fib(10) z = 10
c = 20 print("------------") z, c = c, z + c print(z)
print(c) print("*************") z = 10
c = 20 z = c
c = z + c print(z)
print(c) print("-------------")

Python学习基础(三)——装饰器,列表生成器,斐波那契数列的更多相关文章

  1. python学习笔记(五):装饰器、生成器、内置函数、json

    一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...

  2. python学习之day5,装饰器,生成器,迭代器,json,pickle

    1.装饰器 import os import time def auth(type): def timeer(func): def inner(*args,**kwargs): start = tim ...

  3. python学习笔记之装饰器、生成器、内置函数、json(五)

    一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里面 ...

  4. python 给定n,返回n以内的斐波那契数列

    方式一:函数 def fabs(n): a, b = 0, 1 while b < n: print(b, end=' ') a, b = b, a+b fabs(1000) 方式二:列表 re ...

  5. 斐波拉契数列(用JavaScript和Python实现)

    1.用JavaScript 判断斐波拉契数列第n个数是多少 //需求:封装一个函数,求斐波那契数列的第n项 //斐波拉契数列 var n=parseInt(prompt("输入你想知道的斐波 ...

  6. 5.python(迭代器,装饰器,生成器,基本算法,正则)

    一,迭代器 1.迭代器  (1)迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束.迭代器只能往前不会后退.  (2)对于原生支持随机访问的数据结构(如t ...

  7. python笔记-4(装饰器、生成器、迭代器)

    一.熟练掌握装饰器的原理 (在装饰器学习的过程中,查了看了很多资料,个人感觉走了很多的弯路,这个笔记,分享我的理解,希望能帮助到一些人.本文对装饰器的描述,侧重点是条理与逻辑思路,想通过从无到有的方式 ...

  8. Python(迭代器 生成器 装饰器 递归 斐波那契数列)

    1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...

  9. python学习笔记之装饰器、递归、算法(第四天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

随机推荐

  1. 20165321 学习基础与C语言学习心得

    一.技能学习 我其实在小时候学过挺多东西,在我小学的时候,我曾经短时间地学过小提琴.拉丁舞.国画.书法,但是,由于各种原因,都没有继续学习下去.后来,在我小学四年级的时候,我接触到了二胡,于是,我开始 ...

  2. NHibernate之旅系列文章导航

    NHibernate之旅系列文章导航 宣传语 NHibernate.NHibernate教程.NHibernate入门.NHibernate下载.NHibernate教程中文版.NHibernate实 ...

  3. Python记录7:函数3,函数对象

    #函数对象指的是:函数的内存地址可以像变量值一样去使用,如何使用?def func(): print('from func')#1. 可以被引用# f=func# print(f)# f() #2. ...

  4. [8]windows内核情景分析--窗口消息

    消息与钩子 众所周知,Windows系统是消息驱动的,现在我们就来看Windows的消息机制. 早期的Windows的窗口图形机制是在用户空间实现的,后来为了提高图形处理效率,将这部分移入内核空间,在 ...

  5. <6>Lua元表和冒号 self

    Lua中没有像C.C++.JAVA中的类概念,面向对象等 ,但我们可以模拟出来 1. Lua中有个很重要的概念元表 设置元表setmetatable()函数  获取元表getmetatable()函数 ...

  6. GDTR与LDTR

    ----段寄存器 一.访问GDT 当TI=0时表示段描述符在GDT中,如上图所示: 段描述符(64位) ①先从GDTR寄存器(48位,其中前32位base+16位长度)中获得GDT基址. ②然后再GD ...

  7. ASCII 码

    http://baike.baidu.com/link?url=Y4crTsVq678Z8fr92DAGIrqVHoexVXsMc-WKBMVUKGDq4KbEOuhWbUQXuQEtnlom4yln ...

  8. python 文件路径名,文件名,后缀名的操作

    需要使用路径名来获取文件名,目录名,绝对路径等等. 使用os.path 模块中的函数来操作路径名.下面是一个交互式例子来演示一些关键的特性: >>> import os >&g ...

  9. linux常用命令:pwd 命令

    Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录.在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...

  10. JAVA基础3---JVM内存模型

    Java虚拟机执行Java程序的时候需要使用一定的内存,根据不同的使用场景划分不同的内存区域.有公用的区域随着Java程序的启动而创建:有线程私有的区域依赖线程的启动而创建 JVM内存模型大致可以分为 ...