if name == ‘main’:的作用是什么?为什么要这么写?
Python是一种解释型脚本语言,在执行之前不同要将所有代码先编译成中间代码,Python程序运行时是从模块顶行开始,逐行进行翻译执行,所以,最顶层(没有被缩进)的代码都会被执行,所以Python中并不需要一个统一的main()作为程序的入口。
在某种意义上讲,
“if __name__==’__main__:”也像是一个标志,
象征着Java等语言中的程序主入口,
告诉其他程序员,代码入口在此——这是“if __name__==’__main__:”这条代码的意义之一。
为什么要写这句话呢?
因为我们要把它当做一个入口文件去执行它,如果你把它当做一个包来引入的话,那下面的语句就失效了,为什么失效呢?因为__name__不等于__main__了,而是它具体的包名了。
实例化相关:
当你实例化的一瞬间,构造函数已经运行了。
定义属性最好在构造函数中定义,因为定义在类中有点不合适,类是大而空的一个概念。
但是如果内部没有定义变量的话,会跑出去寻找类中的变量。
求和
print(sum([1,2,3,4]))
10
python c3算法
闭包的概念
js闭包
python闭包:
定义函数与外部环境变量构成闭包
闭包 = 函数+环境变量(函数定义时候)
注意:环境变量一定要在定义函数的外部
而且不能是全局变量
闭包=函数+自由变量的引用。
那么什么是自由变量(free variables)?
在一个函数中,如果某个变量既不是在函数内部创建的也不属于函数的形参,
并且它也不是全局变量(global variables),
那么这个变量对该函数来说就是自由变量
python直接通过item吧key和value循环出来
>>> a = {"red":41, "blue":3}
>>> for item,value in a.items():
... print(item,value)
...
red 41
blue 3
>>> for item,value in a.items():
... print("{}:{}".format(item,value))
...
red:41
blue:3