DDR爱好者之家 Design By 杰米
本文实例讲述了python类继承用法。分享给大家供大家参考。具体如下:
help('object') # test class Class1(object): """ Class1 inherits the most basic container class object (just a place holder) this is the newer class writing convention, adding (object) is "still" optional """ k = 7 def __init__(self, color='green'): """ Special method __init__() is called first (acts as Constructor). It brings in data from outside the class like the variable color. (in this case color is also set to a default value of green) The first parameter of any method/function in the class is always self, the name self is used by convention. Assigning color to self.color allows it to be passed to all methods within the class. Think of self as a carrier, or if you want impress folks call it target instance object. The variable k is assigned a value in the class, but outside of the methods. You can access k in a method using self.k """ self.color = color def Hello1(self): print "Hello from Class1!" def printColor(self): """in this case self allows color to be passed""" print "I like the color", self.color def __localHello(self): """ A variable or function with a double underline prefix and no or max. single underline postfix is considered private to the class and is not inherited or accessible outside the class. """ print "A hardy Hello only used within the class!" class Class2(Class1): """ Class2 inherits Class1 (Class2 is the subclass, Class1 the base or superclass) Class1 has to be coded before Class2 for this to work!!! Class2 can now use any method of Class1, and even the variable k """ def Hello2(self): print "Hello from Class2!" print self.k, "is my favorite number" # the color blue is passed to __init__() c1 = Class1('blue') # Class2 inherited method __init__() from Class1 # if you used c2 = Class2(), the default color green would be picked c2 = Class2('red') print '-'*20 print "Class1 says hello:" c1.Hello1() print '-'*20 print "Class2 says a Class1 hello:" c2.Hello1() print '-'*20 print "Class2 says its own hello:" c2.Hello2() print '-'*20 print "Class1 color via __init__():" c1.printColor() print '-'*20 print "Class2 color via inherited __init__() and printColor():" c2.printColor() print '-'*20 print "Class1 changes its mind about the color:" c1 = Class1('yellow') # same as: c1.__init__('yellow') c1.printColor() print '-'*20 print "Wonder what Class2 has to say now:" c2.printColor() print '-'*20 # this would give an error! Class1 does not have a method Hello2() if hasattr(Class1, "Hello2"): print c1.Hello2() else: print "Class1 does not contain method Hello2()" # check inheritance if issubclass(Class2, Class1): print "Class2 is a subclass of Class1, or Class2 has inherited Class1" # you can access variable k contained in Class1 print "Variable k from Class1 =", c1.k print '-'*20 # this would give an error! You cannot access a class private method if hasattr(Class1, "__localHello()"): print c1.__localHello() else: print "No access to Class1 private method __localHello()"
运行结果如下:
Help on class object in module __builtin__: class object | The most base type -------------------- Class1 says hello: Hello from Class1! -------------------- Class2 says a Class1 hello: Hello from Class1! -------------------- Class2 says its own hello: Hello from Class2! 7 is my favorite number -------------------- Class1 color via __init__(): I like the color blue -------------------- Class2 color via inherited __init__() and printColor(): I like the color red -------------------- Class1 changes its mind about the color: I like the color yellow -------------------- Wonder what Class2 has to say now: I like the color red -------------------- Class1 does not contain method Hello2() Class2 is a subclass of Class1, or Class2 has inherited Class1 Variable k from Class1 = 7 -------------------- No access to Class1 private method __localHello()
希望本文所述对大家的Python程序设计有所帮助。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年07月01日
2025年07月01日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]