python课堂整理11---函数即变量】的更多相关文章

一.前向引用 函数即是变量,在调用前要先定义好. def bar(): print('from bar') def foo(): print('from foo') bar() foo() def foo(): print('from foo') bar() def bar(): print('from bar') foo() 错误示例: def foo(): print('from foo') bar() foo() def bar(): print('from bar') 二.函数即变量在内…
一.局部变量与全局变量 1. 没有缩进,顶头写的变量为全局变量 2. 在子程序里定义的变量为局部变量 3. 只有函数能把变量私有化 name = 'lhf' #全局变量 def change_name(): name = '大帅比' #局部变量 只在这一段函数里生效 print(name) #先从当前作用域找name,找不到再往外层找 change_name() print(name) 二.修改全局变量 1.  global 总是把最外层的全局变量拿来用 NAME = 'lhf' def cha…
# 风湿理论之函数即变量 def foo(): print('from foo') bar() def bar(): print('from bar') foo() from foo from bar def bar(): print('from bar') def foo(): print('from foo') bar() foo() from foo from bar…
一,风湿历练:函数即变量,这样执行程序是不会报错的 def foo(): print ("from foo") bar() def bar(): print "form bar" foo() 下面这样执行程序会报错 def foo(): print ("from foo") bar() foo() def bar(): print "form bar" 原因分析:函数即变量,创建函数的时候已经存在于内存了…
一.装饰器: 本质就是函数,功能:为其他函数添加附加功能 原则: 1.不能修改被装饰函数的源代码 2.不能修改被修饰函数的调用方式 一个简单的装饰器 import time def timmer(func): def wrapper(*args, **kwargs): start_time = time.time() res = func(*args, **kwargs) stop_time = time.time() print('函数运行的时间%s'%(stop_time - start_t…
一.分类 当下主流的编程方法大体分为三类 1. 面向过程 2. 函数式 3. 面向对象 二.函数式编程:函数式 = 编程语言定义的函数 + 数学意义的函数 特征:1. 不可变数据 2. 第一类对象 3. 尾调用优化(尾递归) 例一.不可变:不用变量保存状态,不修改变量 #非函数式 a = 1 def test1(): global a a += 1 return a b = test1() print(b) #函数式 n = 1 def test2(n): return n + 1 print(…
1. abs :求绝对值 print(abs(-1)) 2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False print(all([12,'asds',345])) print(all('')) #特例 若参数为空也返回True print(all((0,))) print(all([])) 3. any () 和all()相反,只要有一个为真就返回Ture print(any([1231, 0])) print(any([…
一.map函数 处理序列(可迭代对象)中的每一个元素,得到的结果是一个‘列表’(其实是个迭代器),该‘列表’元素个数及位置与原来一样 理解下面这段代码: num_l = [1, 2, 4, 6] def add_one(x): return x + 1 #定义一个自加1的函数 def map_test(func, array): ret = [] for i in array: res = func(i) ret.append(res) return ret print(map_test(add…
name = 'alex' def foo(): name = 'jinling' def bar(): print(name) return bar a = foo() print(a) 阅读上述代码,理解 a 得到的是函数bar 的内存地址,想要运行bar 只需a(),因为bar 函数没有return,所以返回了None name = 'alex' def foo(): name = 'jinling' def bar(): print(name) return bar a = foo()…
11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是闭包? 闭包就是内层函数, 对外层函数(非全局)的变量的引⽤. 叫闭包 可以使用_clesure_检测函数是否是闭包  返回cell则是闭包,返回None则不是 闭包的好处: 由它我们可以引出闭包的好处. 由于我们在外界可以访问内部函数. 那这个时候内部函数访问的时间和时机就不⼀定了, 因为在外部,…