Kuxazululiwe: __sub__

Inkinga enkulu nge-__sub__ ukuthi ingasetshenziswa ukudala uhlobo oluncane olungahambisani nohlobo lwangempela.

def __sub__(self, other):
    """Subtract two vectors."""
    if len(self) != len(other):
        raise ValueError("Cannot subtract vectors of different lengths.")
    return Vector([x - y for x, y in zip(self, other)])

Lena incazelo ye-opharetha yokususa yento yeVector. Uma amavekhtha amabili akhishwayo engalingani ngobude, izophakamisa i-ValueError. Uma kungenjalo, izobuyisela into entsha yeVektha izingxenye zayo eziwumehluko wezingxenye ezihambisanayo zamavektha wokufaka amabili.

_sub_, ezinye izingxabano

Ku-Python, i-sub-argument ingxabano eyingxenye yenye ingxabano. Isibonelo, kukhodi elandelayo, i-agumenti yokuqala (x) iyi-agumenti engaphansi ye-agumenti yesibili (y):

x = i-5

y = 10

Kulokhu, u-x kanye no-y bobabili bangamaphuzu amancane engxabano yesithathu (z).

Izimo zekilasi

E-Python, amakilasi ayizibonelo zekilasi. Ikilasi yisifanekiso sokudala izinto. Udala isibonelo sekilasi ngokusebenzisa igama elingukhiye elilandelwa igama lekilasi. Isibonelo, ukuze udale isibonelo sekilasi le-MyClass, uzosebenzisa isitatimende esilandelayo:

myclass = MyClass()

Ungakwazi futhi ukudala isibonelo sekilasi ngokusebenzisa umsebenzi womakhi ochazwe ekilasini. Umsebenzi womakhi uthatha i-agumenti eyodwa, okuyigama lento ofuna ukuyidala. Isibonelo, ukuze udale isibonelo sekilasi le-MyClass futhi ubize umsebenzi womakhi walo, uzosebenzisa isitatimende esilandelayo:

myclass = MyClass(igama=”John”)

Indlela yomlingo

Ayikho impendulo elingana nosayizi owodwa kulo mbuzo, njengoba indlela engcono kakhulu yokubhekana ne-magic methode ku-Python izohluka kuye ngezidingo zakho ezithile. Kodwa-ke, amanye amathiphu wokuthi ungasebenzisa kanjani i-magic methode ku-Python ahlanganisa ukuyisebenzisa ukwenza imisebenzi eyisidina noma ukwenza imisebenzi eyinkimbinkimbi ngokushesha futhi kalula. Ukwengeza, qiniseka njalo ukuthi uyaziqonda izingozi ezingaba khona ezihlobene nokusebenzisa indlela yomlingo, njengoba kungaba yingozi uma ingasetshenziswa ngendlela efanele.

Okuthunyelwe okuhlobene:

Shiya amazwana