Python和c++一样,可以定义类,可以继承,类中又包含了类变量、实例变量(私有变量和公有变量)、方法(包括静态方法staticmethod、类方法classmethod和实例方法instancemethod)。这里只着重介绍类的成员。
通过语言描述会比较费事,下面通过例子来说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# coding: utf-8 class MyClass: '''I simple example class''' val1 = 'Value 1' #类变量 val4 = 1 def __init__( self ): self .val2 = 'Value 2' #公有实例变量 self .__val3 = 'Value 3' #私有实例变量 def __func(): print 'val1 : ' , MyClass.val1 print 'static method cannot access val2' print 'static method cannot access __val3' print 'val4 : ' , MyClass.val4 MyClass.val4 = ((MyClass.val4 + 1 )) smd = staticmethod (__func) def __func2( cls ): print 'val1 : ' , cls .val1 print 'class method cannot access val2' print 'class method cannot access __val3' print 'val4 : ' , cls .val4 cls .val4 = (( cls .val4 + 1 )) cmd = classmethod (__func2) def func3( self ): print 'val1 : ' , self .val1 print 'val2 : ' , self .val2 print 'instance method cannot access __val3' print 'val4 : ' , self .val4 self .val4 = (( self .val4 + 1 )) |
这个类中已经基本包含了上面提到的类中的各种成员,然后通过调用看下这些成员有什么不同
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
print '--------------------MyClass.smd()-------------------' MyClass.smd() #类调用静态方法 print '--------------------MyClass.cmd()---------
|