python is such a flexible language with a dynamic variable, and it follow the rules that everything is object, so just remember it!!!
记住,你只能使用self变量来参考同一个对象的变量和方法。这被称为属性参考。
在这个程序中,我们还看到docstring对于类和方法同样有用。我们可以在运行时使用Person.__doc__ and Person.sayHi.__del__
来分别访问类和方法的文档字符串
就如同__init__方法一样,还有一个特殊的方法__del__,它在对象消逝的时候被调用,它所占用的内存将返回给系统做它用。
当对象不再被使用时,__del__方法运行,但是很难保证这个方法究竟在什么时候运行。如果你想要指明它的运行,你就得使用del
语句,就如同我们在以前的例子中使用的那样。
Python中所有的类成员(包括数据成员)都是公共的,所有的方法都是有效的。
只有一个例外:如果你使用的数据成员名称以双下划线前缀,比如 __privateavr, Pyhton的名称管理体系会有效地把它作为
私有变量。
这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他的名称将作为公共的,可以被其他类/对象
使用。记住这只是一个惯例,并不是Python所要求的(与双下划线前缀不同)。
记住,你只能使用self变量来参考同一个对象的变量和方法。这被称为属性参考。
在这个程序中,我们还看到docstring对于类和方法同样有用。我们可以在运行时使用Person.__doc__ and Person.sayHi.__del__
来分别访问类和方法的文档字符串
就如同__init__方法一样,还有一个特殊的方法__del__,它在对象消逝的时候被调用,它所占用的内存将返回给系统做它用。
当对象不再被使用时,__del__方法运行,但是很难保证这个方法究竟在什么时候运行。如果你想要指明它的运行,你就得使用del
语句,就如同我们在以前的例子中使用的那样。
Python中所有的类成员(包括数据成员)都是公共的,所有的方法都是有效的。
只有一个例外:如果你使用的数据成员名称以双下划线前缀,比如 __privateavr, Pyhton的名称管理体系会有效地把它作为
私有变量。
这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他的名称将作为公共的,可以被其他类/对象
使用。记住这只是一个惯例,并不是Python所要求的(与双下划线前缀不同)。