3.3 類的屬性總結 3.4 類的方法總結 3.5 rc指令碼(類的定義與指令碼的結構)
阿新 • • 發佈:2018-12-06
3.3 類的屬性總結
類屬性(公有屬性)
私有屬性
物件的公有屬性
物件的私有屬性
內建屬性
函式的區域性變數
全域性變數
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
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 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()