91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python類中的單繼承和多繼承用法

發布時間:2021-09-01 20:11:19 來源:億速云 閱讀:152 作者:chen 欄目:編程語言

本篇內容主要講解“Python類中的單繼承和多繼承用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python類中的單繼承和多繼承用法”吧!

前言

Python面向對象編程語言,有List、Str、Dict、Tuple等數據類型,這些數據類型也是對象,比如List類可以有count方法,我們可以通過count方法統計列表中各個元素的數量。

我們可以簡單的將定義類理解成就是定義數據結構,同時給這種數據結構制定一些獨特的屬性或者方法。我們先看最簡單的類,在這里我們定義了Point類

#為了顯示多個調用的變量from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'class Point(object):
    def __init__(self, x=0, y=0):        self.x = x        self.y = y    def String(self):        #顯示Point的信息
        return "{X:" +  str(self.x) + ", Y:" + str(self.y) + "}"

調用類之前我們要實例化,這個可以理解成神筆馬良畫的畫,如果不將其搞活,永遠是畫。通過實例化,調用實例,畫中對象就活了。

#實例化Point類point = Point(x=3, y=4)#顯示point對象point 
#顯示point的String方法point.String()

代碼運行結果

<__main__.Point at 0x10d98ec18>'{X:3, Y:4}'

看個人簡介

單繼承

只是繼承了 一個 基類 。現在我們定義一個Circle類, 圓是由圓心和半徑決定的,所以Circle會繼承并使用Point的一些特性。

class Circle(Point):
    def __init__(self, x=0, y=0, radius=0):        #Circle繼承并使用Point的__init__函數
        Point.__init__(self, x, y) 
         #不同于Point的參數radius
        self.radius = radius      
    def String(self):        #顯示Circle的信息
        return Point.String(self) + ", {Radius:" + str(self.radius) + "}"

現在我們看看Circle

#實例化Circle類circle = Circle(x=3, y=2, radius=5)#顯示circle對象信息circle#顯示circle的String方法circle.String()

代碼運行結果

<__main__.Circle at 0x10d911c18>'{X:3, Y:2}, {Radius:5}'
多繼承

多繼承,顧名思義就是某個類繼承了多個父類(基類)

class Size(object):
    def __init__(self, width, height):        self.width = width        self.height = height    def String(self):        return "{Width: " + str(self.width) + ", Height: " + str(self.height) + "}"

繼續

#實例化Size對象size = Size(width=5, height=3)
size
size.String()

運行結果

<__main__.Size at 0x10d97e828>'{Width: 5, Height: 3}'

現在已經有了Point、Size類,以及每個類中的String()方法。現在想構建 正四方形Rectangle類。為了讓Rectangle具有Point和Size的一些特性,需要讓Rectangle繼承Point和Size的一些特有的方法。

class Rectangle(Point, Size):
    def __init__(self, x, y, width, height):        #讓Rectangle使用Point中的init方法,使得Rectangle本身含有x和y屬性值
        Point.__init__(self, x, y)        #讓Rectangle使用Size中的init方法,使得Size本身含有width和height屬性值
        Size.__init__(self, width, height)    def String(self):        return "Rectangle's init point is " + Point.String(self) + "; Size is " + Size.String(self)

Rectangle 繼承了 Point 和 Size 兩個類,使得Rectangle不用定義 x、y、width、height。而且 Rectangle的String方法 可以直接調用 Point和Size對象的String方法。

#實例化Rectanglerect = Rectangle(x=0, 
                 y=0, 
                 width=5, 
                 height=3)#調用rectrect#顯示其方法rect.String()

運行結果

<__main__.Rectangle at 0x10d978390>"Rectangle's init point is {X:0, Y:0}; Size is {Width: 5, Height: 3}"

到此,相信大家對“Python類中的單繼承和多繼承用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长汀县| 平利县| 萨迦县| 临沧市| 东阿县| 南城县| 潢川县| 全椒县| 信宜市| 梁山县| 隆化县| 丰宁| 黔南| 上高县| 宝鸡市| 陵川县| 胶南市| 汉源县| 广汉市| 洛川县| 阿拉尔市| 盖州市| 宜春市| 浦县| 正宁县| 深水埗区| 赤城县| 海晏县| 泸水县| 观塘区| 民丰县| 黄平县| 高唐县| 惠安县| 馆陶县| 冕宁县| 涟水县| 甘肃省| 寿阳县| 东方市| 灯塔市|