介紹
Python是一種解釋型、交互式、面向對象的高級編程語言。在Python中,萬物皆為對象,為了更好地組織代碼,Python提供了類的概念。類是一種用戶自定義的數據類型,它可以封裝數據和行為。
在本篇文章中,我們將以Python類為中心,詳細介紹Python類的基本使用方法。
Python類的方法怎麼定義
在Python中,類是由屬性和方法組成的,方法是指類中的函數。方法定義時一般會包括一個self參數,代表該方法所屬的對象實例。在方法內部self可以調用該對象的屬性或方法。
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(self.name + "汪汪汪!")
在上面的代碼中,我們定義了一個Dog類,它有兩個屬性:name和age,一個方法:bark。方法bark調用了對象實例的name屬性。
Python用類方法借書
在Python中,除了對象實例方法,還有類方法和靜態方法。類方法是一個類中的方法,它與某個類有關,而不是與某個對象實例有關,類方法的第一個參數是cls,代表該方法所屬的類。
下面是一個類方法的示例代碼:
class Book:
books = []
@classmethod
def add_book(cls, book):
cls.books.append(book)
print("添加圖書成功!")
@classmethod
def list_books(cls):
print("圖書館中的圖書列表如下:")
for book in cls.books:
print(book)
在上述代碼中,我們定義了一個Book類,它有一個類屬性books,兩個類方法:add_book和list_books。方法add_book是添加圖書的方法,方法list_books是列出圖書館中所有圖書的方法。
Python類實例方法
類實例方法是Python類中最常見的方法,它是一個與某個對象實例相關聯的方法。在類實例方法中,self代表該對象實例。
下面是一個類實例方法的示例代碼:
class Person:
def __init__(self, name):
self.name = name
self.age = None
def set_age(self, age):
self.age = age
def introduce(self):
print("我叫" + self.name + ",今年" + str(self.age) + "歲。")
在上述代碼中,我們定義了一個Person類,它有一個屬性name和一個方法set_age和一個introduce。方法set_age設置了對象實例的age屬性,方法introduce用於打印對象實例的信息。
Python類內定義的方法
在Python類中,除了實例方法和類方法,還可以定義一些其他的方法。這些方法不是屬於對象實例的,也不是屬於類的,通常稱為內部方法。
class Circle:
pi = 3.14
def __init__(self, r):
self.r = r
def area(self):
return self.r * self.r * Circle.pi
def perimeter(self):
return 2 * Circle.pi * self.r
在上述代碼中,我們定義了一個Circle類,它有兩個內部方法:area和perimeter。這兩個方法都用到了類屬性pi,在類內部直接調用了pi而不是通過self調用。
原創文章,作者:XKOD,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134301.html