在Python中,類別(class)是用於建立物件的藍圖或範本。它定義了該類別的物件將具有的屬性(資料)和方法(函數)。
Python 中的 OOP 是指在 Python 程式語言中實作物件導向程式設計原理。物件導向程式設計是一種程式設計範例,允許圍繞物件(類別的實例)組織程式碼。Python 作為多範式語言,完全支援 OOP。
class new_variable():
x=5
print(new_variable.x)
執行結果:
>>5
class myclass:
x=10
def say(self):
return(myclass.x)
m=myclass()
print(m.say())
執行結果:
>>10
私有變數在程式中用於訪問控制。為了在 Python 中實現私有變數,我們將在變數名前使用雙下劃線 (__)
下面一個用私有變數例子:
class account():
__password=123456
print(account.__password)
執行結果(有error正常):
>>Traceback (most recent call last):
File "/home/runner/ithome/second.py", line 3, in <module>
print(account.__password)
AttributeError: type object 'account' has no attribute '__password'
如何輸出password:
class account():
__password=123456
def printpassword(self):
print(self.__password)
carson_account=account()
carson_account.printpassword()
執行結果:
>>123456
下列一個簡單建構式的例子
class person:
def __init__(self,name,age,school): #用這個__init__來先創建之後要用的變數
self.name=name
self.school=school
self.age=age
def whoareyou(self):
return (self.name)
n=person("carson",14,"pyc") #輸入變數
print(n.whoareyou())
執行結果:
>>carson
實體方法方法是 Python 類別中最常見的方法類型。如果您有兩個對象,每個對像都是從類別創建的,那麼它們每個都可能具有不同的屬性。它們可能有不同價值等。
下面一個用實體方法例子:
class animal():
def __init__(self,name:str,height,species):
self.name=name
self.height=height
self.species=species
def say(self):
if self.species=="cat":
print("meow")
elif self.species=="dog":
print("woof")
else:
print("You are not cat or dog")
cat=animal("issac","23","cat") #用aniamal創建cat實體
Dog=animal("Tom","50","dog") #用aniamal創建Dog實體
human=animal("Carson","170","human") #用aniamal創建human實體
cat.say() #執行self的功能
Dog.say() #執行self的功能
human.say() #執行self的功能
執行結果:
>>meow
>>woof
>>You are not cat or dog
繼承允許我們定義一個類,該類別繼承另一個類別的所有方法和屬性。
父類別是被繼承的類。
子類別是從另一個父類別繼承的類。
下面一個用繼承方法例子:
class Animal: #Animal是父類別
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal): #Dog是子類別
def speak(self):
return "Woof!"
class Cat(Animal): #Cat是子類別
def speak(self):
return "Meow!"
class Cow(Animal): #Cow是子類別
def speak(self):
return "Moo!"
dog = Dog("Buddy")
cat = Cat("Whiskers")
cow = Cow("Bessie")
print(dog.name + ": " + dog.speak())
print(cat.name + ": " + cat.speak())
print(cow.name + ": " + cow.speak())
執行結果:
>>Buddy: Woof!
Whiskers: Meow!
Bessie: Moo!
這天就先介介紹OOP,如果覺得我的文章對你有幫助或有更好的建議,可以追蹤我和不妨在留言區提出,明天再見吧。
reference:
https://www.delftstack.com/zh-tw/howto/python/python-private-variables/