一、創建一個類
使用class關鍵字創建一個類:
class Person:
pass如果你想為這個類增加屬性,可以在類內部聲明:
class Person:
age = 0
name = ''在Python中,屬性定義在類級別。同樣,如果想增加方法,可以使用def語句定義:
class Person:
age = 0
name = ''
def setAge(self,age):
self.age = age第一個參數self是實例化的一個引用,用來調用類內的實例,即在調用setAge方法時,通過實例化的引用來改變age屬性。下面是使用類來創建對象:
p = Person()
p.setAge(18)
print(p.age)輸出結果為:
18
二、繼承
Python中一個類可以繼承另一個類,繼承可以使類與類之間有更緊密的聯繫,可以重載或擴展基類的屬性和方法。我們可以通過繼承來創建一些特殊的類。
下面是一個繼承的例子:
class Animal:
def say(self):
print('I am an animal.')
class Dog(Animal):
def say(self):
print('I am a dog.')在這個例子中,Animal是Dog的父類,Dog可以繼承Animal的方法和屬性。
接下來我們創建一個Cucmber類並繼承自Vegetable:
class Vegetable:
def say(self):
print('I am a vegetable.')
class Cucumber(Vegetable):
pass
c = Cucumber()
c.say()輸出結果為:
I am a vegetable.三、多態
多態是面向對象編程的基本概念之一,多態允許使用相同的方法調用不同的對象,從而實現不同的行為。
下面是一個多態的例子:
class Person:
def say(self):
pass
class Chinese(Person):
def say(self):
print('我是中國人。')
class American(Person):
def say(self):
print('I am American.')
def speak(person):
person.say()
p1 = Chinese()
p2 = American()
speak(p1)
speak(p2)輸出結果為:
我是中國人。
I am American.四、封裝
在Python中,我們可以通過下劃線實現封裝,可以有效的保護數據的安全性。對外部不可見的屬性和方法,可以通過下劃線實現內部封裝。
下面是一個封裝的例子:
class Person:
def __init__(self,name,age):
self._name = name
self._age = age
def _get_name(self):
return self._name
def _set_name(self,name):
self._name = name
name = property(_get_name,_set_name)
p = Person('Tom',18)
print(p.name)
p.name = 'Lily'
print(p.name)運行結果為:
Tom
Lily在這個例子中,我們通過下劃線實現對name屬性的封裝,並通過@property裝飾器設置屬性的getter和setter方法。
五、類方法和靜態方法
在Python中,類方法和靜態方法是兩種特殊的方法。類方法是帶有@classmethod裝飾器的方法,它的第一個參數是cls,表示調用該方法的類。靜態方法是帶有@staticmethod裝飾器的方法,它不需要傳遞任何參數。
下面是一個類方法和靜態方法的例子:
class Person:
count = 0
def __init__(self,name,age):
self.name = name
self.age = age
Person.count += 1
@classmethod
def getCount(cls):
return cls.count
@staticmethod
def sayHi():
print('Hi')
p1 = Person('Tom',18)
p2 = Person('Lily',20)
print(Person.getCount())
Person.sayHi()輸出結果為:
2
Hi在這個例子中,我們通過類方法實現了對象的計數,靜態方法sayHi不需要傳入參數,可以直接調用。
六、總結
Python__class__是一門面向對象的編程語言,在Python中,我們可以通過class關鍵字來創建一個類,並且可以在類內部定義屬性和方法來實現各種功能。類可以繼承另一個類,多態允許使用相同的方法調用不同的對象,實現不同的行為。封裝可以有效的保護數據的安全性,可以使用下劃線實現內部封裝。類方法和靜態方法是面向對象編程中兩種特殊的方法,可以幫助我們更好的實現類的功能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/185540.html
微信掃一掃
支付寶掃一掃