#coding:utf-8classclass_name(object):
class_var= 'I am a class variable' #类变量
def __init__(self):
self.instance_var= 'I am a instance varibale' #成员变量(实例变量)
definstance_method(self, formal_parameter):
local_var_in_function= formal_parameter #实例方法局部变量
self.local_var_also_in_function = formal_parameter #实例方法局部变量
defordinary_function(formal_parameter):print "I am an ordinary function, I can't vist class var and intance var"
print self.instance_var #报错,因此普通函数无法访问成员函数
print clacc_var#报错,因此普通函数无法访问类变量
@classmethoddef class_method(cls, formal_parameter): #类方法
print 'I am class method, I can visit class var and instance var'
print 'I am class method, I am modifying the instance var'cls.instance_var=formal_parameterprintcls.instance_varprint 'I am class method, I am modifying the class var'class_var=formal_parameterprintclass_var
@staticmethoddefstatic_method(formal_parameter):print 'I am static method, I am the Adopted son(干儿子) for this class!!'
print "I can't modify anything in the class"
#print class_var
#print self.instance_var
print 'Get a class instance'class_instance=class_name()print '\r'
print "My name is class_instance, I can call class_method,"\"statics_method, instance_method and instance_method, but I can't call ordinary_function"
print "I can show you:"
print '\r'class_instance.class_method('class method is calling!!')print '\r'class_instance.static_method('static method in calling!!')print '\r'class_instance.instance_method('instance method is calling!!')print '\r'
print 'class var is calling!!'
printclass_instance.class_varprint '\r'
print 'instance var is calling!!'
printclass_instance.instance_varprint '\r'
print 'Get a class!!'
print '\r'
print 'My name is class_name, I can call class_method, statics_method, instance_method, instance_method, and ordinary_function'
print "I can show you:"
print '\r'class_name.class_method('class method is calling!!')print '\r'class_name.static_method('static method in calling!!')print '\r'
#class_name.instance_method("instance method can't be calling!!")
print '\r'
print 'class var is calling!!'
printclass_name.class_varprint '\r'
print 'instance var is calling!!'
printclass_name.instance_varprint 'END!!'
Result:
Get a class instance
My name is class_instance, I can call class_method, statics_method, instance_method and instance_method, but I can't call ordinary_function
I can show you:
I am class method, I can visit class var and instance var
I am class method, I am modifying the instance var
class method is calling!!
I am class method, I am modifying the class var
class method is calling!!
I am static method, I am the Adopted son(干儿子) for this class!!
I can't modify anything in the class
class var is calling!!
I am a class variable
instance var is calling!!
I am a instance varibale
Get a class!!
My name is class_name, I can call class_method, statics_method, instance_method, instance_method, and ordinary_function
I can show you:
I am class method, I can visit class var and instance var
I am class method, I am modifying the instance var
class method is calling!!
I am class method, I am modifying the class var
class method is calling!!
I am static method, I am the Adopted son(干儿子) for this class!!
I can't modify anything in the class
class var is calling!!
I am a class variable
instance var is calling!!
class method is calling!!
END!!