色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 類的重載

林子帆1年前9瀏覽0評論

Python是一種面向?qū)ο蟮木幊陶Z言,支持類的重載。類的重載是指在一個類中定義多個同名函數(shù),但是這些函數(shù)的參數(shù)個數(shù)或者參數(shù)類型不同,從而實(shí)現(xiàn)不同的功能。在Python中,類的重載可以通過函數(shù)的參數(shù)來實(shí)現(xiàn),例如:

class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
def perimeter(self):
return 2 * (self.width + self.height)
def __str__(self):
return "Rectangle with width {0} and height {1}".format(self.width, self.height)
def __eq__(self, other):
if isinstance(other, Rectangle):
return self.width == other.width and self.height == other.height
return False

在上述代碼中,我們定義了一個Rectangle類,其中包含了一個初始化函數(shù)__init__、一個計算面積的函數(shù)area、一個計算周長的函數(shù)perimeter、一個返回類的字符串表示的函數(shù)__str__、以及一個檢查兩個矩形是否相等的函數(shù)__eq__。這些函數(shù)都是同名函數(shù),但是參數(shù)和功能都不同。

下面我們來看看如何調(diào)用這些函數(shù):

r1 = Rectangle(5, 3)
r2 = Rectangle(3, 5)
r3 = Rectangle(5, 3)
print(r1.area())    # 輸出: 15
print(r2.perimeter()) # 輸出: 16
print(r3)           # 輸出: Rectangle with width 5 and height 3
print(r1 == r2)     # 輸出: False
print(r1 == r3)     # 輸出: True

在上述代碼中,我們創(chuàng)建了三個Rectangle對象,分別計算了他們的面積和周長,輸出了他們的字符串表示和比較兩個矩形是否相等的結(jié)果。可以看到,我們通過參數(shù)的不同,實(shí)現(xiàn)了多個同名函數(shù),從而方便了類的使用。