class DerivedClassName(BaseClassName1): <statement -1> . . <statement -N>
class DerivedClassName(BaseClassName1):
<statement -1>
.
.
<statement -N>
#定義People類 class People: #定義基本屬性 name = '' age = 0 _weight = 0 #私有化的屬性,類外部沒法直接訪問 #定義構造方法 def __init__(self,name,age,_weight): self.name = name self.age = age self._weight = _weight def speak(self): print ("%s 說:我 %s 歲 "%(self.name,self.age)) p = People('runob',10,30) p.speak() #單繼承 class Student(People): grade = '' def __init__(self,name,age,_weiht,grade): People.__init__(self,name,age,_weiht) #引用父類的構造函數 self.grade= grade def speak(self): #重寫父類的方法 print ("%s 說:我 %s 歲了,我在讀 %s 年級"%(self.name,self.age,self.grade)) s = Student('ken',10,60,3) s.speak() #輸出結果 runob 說:我 10 歲 ken 說:我 10 歲了,我在讀 3 年級
#定義People類
class People:
#定義基本屬性
name = ''
age = 0
_weight = 0 #私有化的屬性,類外部沒法直接訪問
#定義構造方法
def __init__(self,name,age,_weight):
self.name = name
self.age = age
self._weight = _weight
def speak(self):
print ("%s 說:我 %s 歲 "%(self.name,self.age))
p = People('runob',10,30)
p.speak()
#單繼承
class Student(People):
grade = ''
def __init__(self,name,age,_weiht,grade):
People.__init__(self,name,age,_weiht) #引用父類的構造函數
self.grade= grade
def speak(self): #重寫父類的方法
print ("%s 說:我 %s 歲了,我在讀 %s 年級"%(self.name,self.age,self.grade))
s = Student('ken',10,60,3)
s.speak()
#輸出結果
runob 說:我 10 歲
ken 說:我 10 歲了,我在讀 3 年級
class DerivedClassName(Base1, Base2, Base3): <statement-1> . . <statement-N>
class DerivedClassName(Base1, Base2, Base3):
<statement-1>
.
.
<statement-N>
#!/usr/bin/env python #-*- coding: utf-8 -*- # @Time : 2017/8/17 0017 11:43 # @Author : Aries # @Site : # @File : ss.py # @Software: PyCharm Community Edition # 類定義 class people: # 定義基本屬性 name = '' age = 0 # 定義私有屬性,私有屬性在類外部沒法直接進行訪問 __weight = 0 # 定義構造方法 def __init__(self, n, a, w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 說: 我 %d 歲。" % (self.name, self.age)) # 單繼承示例 class student(people): grade = '' def __init__(self, n, a, w, g): # 調用父類的構函 people.__init__(self, n, a, w) self.grade = g # 覆寫父類的方法 def speak(self): print("%s 說: 我 %d 歲了,我在讀 %d 年級" % (self.name, self.age, self.grade)) # 另外一個類,多重繼承以前的準備 class speaker(): topic = '' name = '' def __init__(self, n, t): self.name = n self.topic = t def speak(self): print("我叫 %s,我是一個演說家,我演講的主題是 %s" % (self.name, self.topic)) # 多重繼承 class sample(speaker, student): a = '' def __init__(self, n, a, w, g, t): student.__init__(self, n, a, w, g) speaker.__init__(self, n, t) test = sample("Tim", 25, 80, 4, "Python") test.speak() # 方法名同,默認調用的是在括號中排前地父類的方法 #輸出 我叫 Tim,我是一個演說家,我演講的主題是 Python
#!/usr/bin/env python
#-*- coding: utf-8 -*-
# @Time : 2017/8/17 0017 11:43
# @Author : Aries
# @Site :
# @File : ss.py
# @Software: PyCharm Community Edition
# 類定義
class people:
# 定義基本屬性
name = ''
age = 0
# 定義私有屬性,私有屬性在類外部沒法直接進行訪問
__weight = 0
# 定義構造方法
def __init__(self, n, a, w):
self.name = n
self.age = a
self.__weight = w
def speak(self):
print("%s 說: 我 %d 歲。" % (self.name, self.age))
# 單繼承示例
class student(people):
grade = ''
def __init__(self, n, a, w, g):
# 調用父類的構函
people.__init__(self, n, a, w)
self.grade = g
# 覆寫父類的方法
def speak(self):
print("%s 說: 我 %d 歲了,我在讀 %d 年級" % (self.name, self.age, self.grade))
# 另外一個類,多重繼承以前的準備
class speaker():
topic = ''
name = ''
def __init__(self, n, t):
self.name = n
self.topic = t
def speak(self):
print("我叫 %s,我是一個演說家,我演講的主題是 %s" % (self.name, self.topic))
# 多重繼承
class sample(speaker, student):
a = ''
def __init__(self, n, a, w, g, t):
student.__init__(self, n, a, w, g)
speaker.__init__(self, n, t)
test = sample("Tim", 25, 80, 4, "Python")
test.speak() # 方法名同,默認調用的是在括號中排前地父類的方法
#輸出
我叫 Tim,我是一個演說家,我演講的主題是 Python
class Parent: def myMethod(self): print ("調用父類的方法") class Child(Parent): def myMethod(self): #重寫父類的方法 print ("調用子類的方法") c = Child() c.myMethod() #輸出 調用子類方法
class Parent:
def myMethod(self):
print ("調用父類的方法")
class Child(Parent):
def myMethod(self): #重寫父類的方法
print ("調用子類的方法")
c = Child()
c.myMethod()
#輸出
調用子類方法
s = Student('ken',10,60,3) #s是Studennt的實例 s.speak() print issubclass(Student,People) #檢查一個類是不是另外一個類的子類,Student繼承了People print Student.__bases__ #查看類的基類 print isinstance(s,Student) #檢查一個對象是不是一個類的實例
s = Student('ken',10,60,3) #s是Studennt的實例
s.speak()
print issubclass(Student,People) #檢查一個類是不是另外一個類的子類,Student繼承了People
print Student.__bases__ #查看類的基類
print isinstance(s,Student) #檢查一個對象是不是一個類的實例