Python實例定義:創建對象的藍圖

在Python中,對象是由類創建的,它是類的實例。在Python中,類是一種定義,描述了可以從中創建對象的所有屬性和方法。創建類是創建對象的藍圖。下面將從多個方面詳細闡述Python中創建對象的藍圖。

一、類的定義

在Python中,可以使用關鍵字定義類。定義時需要指定類的名稱和父類(也可以沒有父類)。類名一般採用CapWords命名規範,即每個單詞首字母大寫,不包含下劃線。如下所示定義名為MyClass的類:

class MyClass:
    pass

上面的代碼創建了一個名為MyClass的類,該類沒有任何屬性或方法。

類的方法可以分為兩種:實例方法和類方法。實例方法需要創建類的實例,才能調用該方法。類方法無需實例,但仍然可以通過類調用。

下面的示常式序演示了類的定義和實例方法的使用:

class Car:
    def __init__(self,make,model):
        self.make = make
        self.model = model
        self.odometer_reading = 0
        
    def get_descriptive_name(self):
        long_name = f"{self.make} {self.model}"
        return long_name.title()
    
    def read_odometer(self):
        print(f"This car has {self.odometer_reading} miles on it.")

my_new_car = Car('audi','a4')
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer()

執行結果如下:

Audi A4
This car has 0 miles on it.

類Car有三個屬性:make,model和odometer_reading。屬性odometer_reading的默認值為0。類Car還有兩個實例方法:get_descriptive_name和read_odometer。調用實例方法get_descriptive_name返回汽車的描述性名稱,調用實例方法read_odometer來讀取里程錶讀數。

二、繼承

繼承是面向對象編程中的一個重要概念。子類通過繼承父類的方法和屬性來實現自己的功能。在Python中,可以直接通過將父類作為參數傳遞給子類來實現繼承。子類可以重寫父類的方法,並添加自己的方法。

下面的示常式序演示了一個子類ElectricCar繼承自父類Car的情況:

class Car:
    def __init__(self,make,model):
        self.make = make
        self.model = model
        self.odometer_reading = 0
        
    def get_descriptive_name(self):
        long_name = f"{self.make} {self.model}"
        return long_name.title()
    
    def read_odometer(self):
        print(f"This car has {self.odometer_reading} miles on it.")

class ElectricCar(Car):
    def __init__(self,make,model,year):
        super().__init__(make,model)
        self.battery_size = 75
        self.year = year
        
    def describe_battery(self):
        print(f"This car has a {self.battery_size}-kWh battery.")
        
my_tesla = ElectricCar('tesla','model s',2019)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()

執行結果如下:

Tesla Model S
This car has a 75-kWh battery.

類ElectricCar繼承自父類Car,子類中定義的方法describe_battery是父類中沒有的方法。在子類ElectricCar的__init__方法中,通過super()函數調用了父類構造函數,以便初始化從父類繼承過來的屬性。

三、類的屬性

在Python中,屬性存儲在實例中。有兩種類型的屬性:實例屬性和類屬性。實例屬性是每個實例都有自己的屬性,它們的值可能不同。類屬性由所有實例共享,因此它們的值在所有實例中都相同。

下面的示常式序演示了類屬性的創建和使用:

class Dog:
    number_of_legs = 4
    
    def __init__(self,name,age):
        self.name = name
        self.age = age

my_dog = Dog('Willie',6)
your_dog = Dog('Lucy',3)

print(my_dog.name + " has " + str(my_dog.number_of_legs) + " legs.")
print(your_dog.name + " has " + str(your_dog.number_of_legs) + " legs.")
print(Dog.number_of_legs)

執行結果如下:

Willie has 4 legs.
Lucy has 4 legs.
4

類Dog有兩個實例屬性:name和age,它的類屬性number_of_legs用於保存狗的腿數。在類Dog的定義中,number_of_legs被放在類的外面,表示這是一個類屬性。通過調用類可以訪問它的類屬性。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150944.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-10 01:11
下一篇 2024-11-10 01:11

相關推薦

  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python中的隊列定義

    本篇文章旨在深入闡述Python中隊列的定義及其應用,包括隊列的定義、隊列的類型、隊列的操作以及隊列的應用。同時,我們也會為您提供Python代碼示例。 一、隊列的定義 隊列是一種…

    編程 2025-04-29
  • Python符號定義和使用方法

    本文將從多個方面介紹Python符號的定義和使用方法,涉及注釋、變數、運算符、條件語句和循環等多個方面。 一、注釋 1、單行注釋 # 這是一條單行注釋 2、多行注釋 “”” 這是一…

    編程 2025-04-29
  • Python編程技巧:如何定義一個函數n!,並計算5!

    在這篇文章中,我們將研究如何使用Python編程語言定義一個能夠計算階乘的函數,並且演示如何使用該函數計算5!。 一、階乘函數的定義 在Python中,我們可以使用一個簡單的遞歸函…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python定義變數

    Python是一門高級編程語言,變數是Python編程中非常重要的一個概念。Python的變數定義方式非常簡單,可以在程序中隨時定義一個變數來存儲數據,這方便了整個程序的邏輯編寫,…

    編程 2025-04-28
  • Python中如何定義一個變數

    Python是一種高級編程語言,使用它您可以輕鬆地定義和操作變數。Python中的變數屬於動態類型變數,因此不需要在定義變數時指定其類型,而是在變數分配之前自動確定變數的數據類型。…

    編程 2025-04-28

發表回復

登錄後才能評論