Python中的__init__到底是干什么的?
看到Python中有个函数名较量怪异,__init__我知道加下划线的函数会自动运行,可是不知道它存在的详细意义..
本日看到<<简明 Python 教程>>第11章 面向工具的编程,中这样先容它:"给C++/Java/C#措施员的注释
Python中所有的类成员(包罗数据成员)都是 民众的 ,所有的要领都是 有效的 。
只有一个破例:假如你利用的数据成员名称以 双下划线前缀 好比__privatevar,Python的名称打点体系会有效地把它作为私有变量。
这样就有一个老例,假如某个变量只想在类或工具中利用,就应该以单下划线前缀。而其他的名称都将作为民众的,可以被其他类/工具利用。记着这只是一个老例,并不是Python所要求的(与双下划线前缀差异)。
同样,留意__del__要领与 destructor 的观念雷同。"
名顿开本来__init__在类中被用做结构函数,牢靠也写法,看似很古板,其实有原理
def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name # When this person is created, he/she # adds to the population Person.population += 1
name变量属于工具(它利用self赋值)因此是工具的变量
self.name的值按照每个工具指定,这表白了它作为工具的变量的本质。