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()…
递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点) --> l = [1, [2, [3, [4, [5, [6, [7, [8, [9, [10, [11, [12, [13, ]]]]]]]]]]]]] # 循环的写法, 列表嵌套越多层越麻烦 for i in l: # 推导思路 if type(i) is int: print(i) else: for item in i: if type(item)…
一.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…
1.匿名函数 list(filter(lamda a:a>3,[1,2,3,4,5])) 一般和过滤器一起使用 2.函数的作用域 a = 123 def test(): a = 666 a = a + 1 print(a) test() print(a) 1.函数外面访问不到函数里面的变量 2.函数里面可以访问外面的变量 3.函数里面不能修改外面的变量,针对不可变类型而言的,对于列表等可变类型可以修改. 4.函数里面和外面变量名相同,但不是同一个. 5.函数内部用 global a 申明a为全局…