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

溫馨提示×

溫馨提示×

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

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

關于Python類型和對象的簡介

發布時間:2020-08-05 15:24:03 來源:億速云 閱讀:113 作者:小新 欄目:編程語言

小編給大家分享一下關于Python類型和對象的簡介,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

類型與對象

一點基礎理論:

對象代表現實世界中像轎車、狗、自行車這些事物。對象具有數據和行為兩個主要特征。

在面向對象編程中,我們把數據當作屬性,把行為當作方法。即:

數據 → 屬性 和 行為 → 方法

類型是創造單個對象實例的藍本。在現實世界中,我們經常發現很多對象實例擁有相同的類型,比如轎車。他們都具有相同的構造和模型(具有發動機,輪子,門等等)。每輛車都是根據同一張設計圖制作的,并且具有相同的組成部分。

Python,作為一門面向對象編程的語言,具有類和對象的概念。

類是藍圖,對象是模型。

同樣,一個類,它只是一個模型,或者一種定義屬性和行為的方法(正如我們在理論部分所討論的)。例如,車輛類有自己的屬性,定義什么是車輛。車輪的數量、能源的類型、座位容量和最大速度都是車輛的屬性。

考慮到這一點,讓我們看看類的 Python 語法:

class Vehicle:
    pass

我們用一個類聲明來定義類?,僅此而已。很簡單,不是嗎?

對象是一個類的實例,我們用命名類來創建一個實例。

car = Vehicle()
print(car) # <__main__.Vehicle instance at 0x7fb1de6c2638>

這里 ‘car’ 是 ‘Vehicle’ 類的一個對象(或者說實例)。

記住,我們的 ‘Vehicle’ 類有四個屬性:輪子數量,能源類型,座位容量,和最大速度。我們創建一個 ‘Vehicle’ 對象時設置所有這些屬性 。所以在這里,我們定義我們的類初始化時要接收數據時:

class Vehicle:
    def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
        self.number_of_wheels = number_of_wheels
        self.type_of_tank = type_of_tank
        self.seating_capacity = seating_capacity
        self.maximum_velocity = maximum_velocity

我們使用了 ‘init’方法。我們稱它為構造方法。所以創建 ‘vehicle’ 對象時可以定義這些屬性。假設我們喜歡 Tesla Model S,我們要創建這種對象。它有 4 個輪子,使用電能,有 5 個座位,最大時速 250km/h (155mph)

tesla_model_s = Vehicle(4, 'electric', 5, 250)

4 個 “輪子”+ 電能 “能源”+5 個 “座位”+250km/h “最大速度”。

所有屬性都設置完成了。但是我們如何獲取這些屬性值?我們發送一個消息到對象來問他們。 我們稱之為方法。方法是對象的行為。讓我們來實現它:

class Vehicle:
    def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
        self.number_of_wheels = number_of_wheels
        self.type_of_tank = type_of_tank
        self.seating_capacity = seating_capacity
        self.maximum_velocity = maximum_velocity

    def number_of_wheels(self):
        return self.number_of_wheels

    def set_number_of_wheels(self, number):
        self.number_of_wheels = number

這里創建了兩個方法: number_of_wheels 和 set_number_of_wheels. 我們稱它為 獲取 & 設置. 因為第一個獲取了屬性值,然后第二個設置了一個新的屬性值。

Python 中,我們可以用 “@property” (“decorator”) 去定義 "getters" 和 “setters”。請看以下代碼:

class Vehicle:
    def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
        self.number_of_wheels = number_of_wheels
        self.type_of_tank = type_of_tank
        self.seating_capacity = seating_capacity
        self.maximum_velocity = maximum_velocity

    @property
    def number_of_wheels(self):
        return self.number_of_wheels

    @number_of_wheels.setter
    def number_of_wheels(self, number):
        self.number_of_wheels = number

同時,我們可以使用這些方法作為屬性:

tesla_model_s = Vehicle(4, 'electric', 5, 250)
print(tesla_model_s.number_of_wheels) # 4
tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2
print(tesla_model_s.number_of_wheels) # 2

這個與定義方法有些許不同。這些方法的工作機制與屬性不同。例如,當我們設置輪子數量時,我們需要把 2 賦值給一個變量,只需要設置 “number_of_wheels” 的值為 2。這是一種寫 “pythonic”、 ”getter“、“setter” 代碼的方法。

而且同時我們也可以使用其他方法,比如 “make_noise” 方法。請看下面的例子。

class Vehicle:
    def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
        self.number_of_wheels = number_of_wheels
        self.type_of_tank = type_of_tank
        self.seating_capacity = seating_capacity
        self.maximum_velocity = maximum_velocity

    def make_noise(self):
        print('VRUUUUUUUM')

看完了這篇文章,相信你對關于Python類型和對象的簡介有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

会同县| 巴南区| 泾源县| 青岛市| 中江县| 民勤县| 元氏县| 晴隆县| 城市| 集贤县| 海安县| 安国市| 波密县| 西城区| 宁都县| 慈利县| 铜陵市| 团风县| 泰宁县| 涟水县| 申扎县| 老河口市| 潍坊市| 云林县| 商水县| 合水县| 洛川县| 新安县| 稻城县| 望谟县| 驻马店市| 农安县| 怀来县| 昔阳县| 安平县| 福泉市| 岑巩县| 怀宁县| 南投县| 泽普县| 丹棱县|