1:类的定义: class c1(Parent):
pass #定义了一个类,并继承了 Parent这个类
注意:每个类方法的第一个参数,包括 __init__,都是指向类的当前实例的引用,通常叫 self,定义的时候需要写,调用的时候不用
2: import module.name 和 from module import name 的区别:
后者将 name 引入当前的命名空间,所以用的时候不需要前缀。
ex: 前者: module.name(); 后者: name()
3:类的内置对象:
__doc___: 跟函数的一样
__init__(self): 在类的实例创建后被立即调用。注意 __init__ 方法从不返回一个值。__init__ 方法是可选的,但是一旦你定义了,就必须记得显示调用父类的 __init__ 方法 (如果它定义了的话)。这样更是正确的:无论何时子类想扩展父类的行为,后代方法必须在适当的时机,使用适当的参数,显式调用父类方法。
__class__: 表示对象的类, ex: obj.__class__
__module__:表示当前类属于哪个模块
4: 对象属性 和 类属性,类方法,私有方法
class test():
class_property = 4 # 类属性, 对象和类都可访问
__privateProperty = 1 #私有属性,对于对象
def __init__(self):
self.data = 5 # 对象属性 只允许对象访问
@staticmethod # 静态方法,对象和类都可访问,第一个参数不是指向类的实例
def static_method():
print 'static method'
def obj_method(self): #对象方法, 只允许对象访问
print 'object method'
def __private_method(self):
print “私有方法,类的外部无法访问”
有self的都是只针对 类的实例 的