国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python類繼承用法實例分析

2020-02-23 01:27:12
字體:
來源:轉載
供稿:網友

本文實例講述了python類繼承用法。分享給大家供大家參考。具體如下:

help('object') # testclass 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 pickedc2 = Class2('red')print '-'*20print "Class1 says hello:"c1.Hello1()print '-'*20print "Class2 says a Class1 hello:"c2.Hello1()print '-'*20print "Class2 says its own hello:"c2.Hello2()print '-'*20print "Class1 color via __init__():"c1.printColor()print '-'*20print "Class2 color via inherited __init__() and printColor():"c2.printColor()print '-'*20print "Class1 changes its mind about the color:"c1 = Class1('yellow') # same as: c1.__init__('yellow')c1.printColor()print '-'*20print "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 inheritanceif issubclass(Class2, Class1):  print "Class2 is a subclass of Class1, or Class2 has inherited Class1"# you can access variable k contained in Class1print "Variable k from Class1 =", c1.kprint '-'*20# this would give an error! You cannot access a class private methodif hasattr(Class1, "__localHello()"):  print c1.__localHello()else:  print "No access to Class1 private method __localHello()"            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南宫市| 广丰县| 湘阴县| 满洲里市| 肥西县| 卓尼县| 宾川县| 上杭县| 富平县| 北安市| 平昌县| 正定县| 莆田市| 黄冈市| 黄平县| 武乡县| 顺义区| 玛纳斯县| 安陆市| 盐津县| 海口市| 东源县| 锦州市| 布尔津县| 高密市| 丰镇市| 靖边县| 辽阳县| 江阴市| 三台县| 阳城县| 容城县| 浑源县| 周口市| 眉山市| 北安市| 江孜县| 济阳县| 哈尔滨市| 玉山县| 和龙市|