3.3 类的属性总结
类属性(公有属性)
私有属性
对象的公有属性
对象的私有属性
内置属性
函数的局部变量
全局变量
class MyClass(object): var1 = "类的公有属性" __var2 = "类的私有属性" def func1(self): self.var3 = "对象的公有属性" self.__var4 = "对象的私有属性" var5 = "函数的局部变量"mc = MyClass()print mc.var1print mc._MyClass__var2mc.func1()print mc.var3
3.4 类的方法总结
class MyClass(object): name = 'test' def __init__(self): self.func1() self.__func2() self.classFun() self.staticFun() print "-"*20 def func1(self): print self.name print "我是公有方法" self.__func2() def __func2(self): print self.name print "我是私有方法" @classmethod def classFun(self): print self.name print "我是类方法" [@staticmethod](https://my.oschina.net/staticmethod) def staticFun(): print MyClass.name print "我是静态方法"mc = MyClass()mc.func1()MyClass.classFun() #加上@classmethod就可以通过类调用MyClass.staticFun() #加上[@staticmethod](https://my.oschina.net/staticmethod) ,注意没有self参数,需要通过类来调用
test我是公有方法test我是私有方法test我是私有方法test我是类方法test我是静态方法--------------------test我是公有方法test我是私有方法test我是类方法test我是静态方法
3.5 rc脚本(类的定义与脚本的结构)
import sysclass Process(object): '''memcached rc script''' def __init__(self,name,program,args,workdir): self.name = name self.program = program self.args = args self.workdir = workdir #类在实例化的时候要传的几个参数 def start(self): pass def stop(self): pass def restrat(self): self.stop() self.start() def status(self): pass def help(self): passdef main(): name = "memcached" prog = "/usr/bin/memcached" args = "-u nobody -p 11211 -c 1024 -m 64" wd = "/var/tmp/memcached" pm = Process(name = name,program = prog,args = args,workdir = wd) try: cmd = sys.argv[1] except IndexError,e: print "Options error" sys.exit() if cmd == 'start': pm.start() elif cmd == 'stop': pm.stop() elif cmd == 'restart': pass else: pm.help()