类属性(公有属性)memcached
私有属性函数
对象的公有属性.net
对象的私有属性rest
内置属性code
函数的局部变量对象
全局变量ip
class MyClass(object): var1 = "类的公有属性" __var2 = "类的私有属性" def func1(self): self.var3 = "对象的公有属性" self.__var4 = "对象的私有属性" var5 = "函数的局部变量" mc = MyClass() print mc.var1 print mc._MyClass__var2 mc.func1() print mc.var3
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 我是静态方法
import sys class 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): pass def 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()