~在一个外函数中定义了一个内函数
~内函数里运用了外函数的临时变量
~并且外函数的返回值是内函数的引用
def test(number): print('--1--') def test_in(number_in): print('--2--') return number + number_in print('--3--') return test_in t1 = test(1) t2 = t1(1) print(t2)装饰器
装饰器(@)是一种语法糖,主要用于函数或类的基础上添加一些可重用的额外功能。从应用开发角度来看的话,我们使用装饰器来对我们的应用代码进行功能性扩展和包装,以提高代码 的可重用性和可维护性。
例子:import time def yunxing_time(fun): start = time.time() fun() end = time.time() print(f'时间差{end-start-2}') def test1(): print("功能:计算百以内数字和") time.sleep(2) def test2(): print("功能:计算百以内偶数和") time.sleep(2) fun = eval(input('输入要计算的函数')) yunxing_time(fun)例子2:
def print_hw(f): # f = test print("hello world") return f @print_hw # test = print_hw(test) # test = f def test(): sum_li = sum([1,2,3]) print(sum_li) return sum_li # test = print_hw(test) # test()推导式
介绍:
python中有一种特有的语法,就是推导式(又称为解析式)。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。
例子:
li = [6,2,6,7,-15,8,-17,-10,-15,-4] li1 = [] for i in li: if i < 0: i = i**2 li1.append(i) print(li1)#[225, 289, 100, 225, 16]
li1 = [i**2 for i in li if i<0]
for i in '123': for j in 'abc': print(i+j) li = [i+j for i in '123' for j in 'abc'] print(li) li = ['age','name'] dic = {i:li.index(i) for i in li} print(dic)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)