代码理解问题
请问第12行是什么意思?1 #闭包函数的实例
2 # outer是外部函数 a和b都是外函数的临时变量
3 def outer( a ):
4 b = 10
5 # inner是内函数
6 def inner():
7 #在内函数中 用到了外函数的临时变量
8 print(a+b)
9 # 外函数的返回值是内函数的引用
10 return inner
11
12 if __name__ == '__main__':
13 # 在这里我们调用外函数传入参数5
14 #此时外函数两个临时变量 a是5 b是10 ,并创建了内函数,然后把内函数的引用返回存给了demo
15 # 外函数结束的时候发现内部函数将会用到自己的临时变量,这两个临时变量就不会释放,会绑定给这个内部函数
16 demo = outer(5)
17 # 我们调用内部函数,看一看内部函数是不是能使用外部函数的临时变量
18 # demo存了外函数的返回值,也就是inner函数的引用,这里相当于执行inner函数
19 demo() # 15
20
21 demo2 = outer(7)
22 demo2()#17
https://www.jb51.net/article/51892.htm
看这个 当前脚本被别的模块导入后不执行main下面的代码 ok明白了,谢谢 1、__name__ 是python的一个属性,保存一个字符串;
2、每一个pyton文件都是一个模块,当导入模块时,模块中没有缩进的代码都会执行一遍,而模块可能会有一些测试代码,测试代码只是测试模块是否ok时需要执行,被导入时不需要它发挥功能功能,所以要想代码被其他模块导入时,这些测试代码不执行就可以将测试代码放到__name__ =="__main__"下面;
3、当模块A没被导入,运行A时__name__属性中保存的是"__mian__"这个字符串,当执行到if __name__=="__mian__" 下面的代码就会执行;
当模块A被导入时__name__属性中保存的是模块的名字;也就是__name__ =="模块名"所以当被导入执行到if__name__ =="__main__"这个条件是不
成 立的,它下面的代码就不会执行!
4、这点是最重要的,对你有用的话赶紧设个最佳答案{:5_97:} 妹的刚写完就设了最佳 忙活了半天{:10_266:} lbf4325 发表于 2020-8-18 11:24
妹的刚写完就设了最佳 忙活了半天
不好意思了,不过还是谢谢你!
页:
[1]