1.self
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self
。
Python中的self
等价于C++中的self
指针和Java、C#中的this
参考。
2.类的定义和实例化
定义:
class
Person
:
pass
# An empty block
class
Person
:
def
sayHi
(self):#必须定义一个self,但是调用时不需要传入。
print
'Hello, how are you?'
实例化:
p = Person()
3.__init__函数
等同于java中的构造方法
class
Person
:
def
__init__
(self, name):
self.name = name
def
sayHi
(self):
print
'Hello, my name is'
, self.name
p = Person(
'Swaroop'
)
有两种类型的 域 ——类的变量和对象的变量
类的变量:静态变量,一个类实例化的各个对象间共享。
对象的变量:实例自己的变量,一个类实例化的各个对象间不共享。
5.__del__
等同与析构方法。
6.私有变量
如果你使用的数据成员名称以 双下划线前缀 比如__privatevar
,Python的名称管理体系会有效地把它作为私有变量。
7.继承。
class
SchoolMember
:
'''Represents any school member.'''
def
__init__
(self, name, age):
self.name = name
self.age = age
print
'(Initialized SchoolMember: %s)'
% self.name
class
Teacher
(SchoolMember):
'''Represents a teacher.'''
def
__init__
(self, name, age, salary):
SchoolMember.__init__(self, name, age) #主动调用父类的初始化方法
self.salary = salary
print
'(Initialized Teacher: %s)'
% self.name