前言
之前我們已經學習了Python基本的資料型別,函式與檔案讀寫,接下來我們就來看看Python的面向物件的編程,如果學過類似于Java這種面向物件的編程語言,學起來對比Python的面向物件就會感覺十分的容易,作為一門腳本語言,Python在面向物件方面相較于java更加簡潔和方便,少了很多的約束,
創建物件
和其他語言一樣Python使用class關鍵字來宣告一個類,類名采用駝峰命名法,首字母大寫,
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
__init__()方法是必不可少的,這是為了在實體化物件
正如上面代碼所示,Pyhton類中
__init__()方法是必不可少的,這是為了實體化物件初始化的,有點類似于Java中的建構式,__init__()方法中self是必不可少的,且必須放在第一位,就是本身的一個參考,
創建實體
Python通過以下方法實體化物件,不需要使用new關鍵字,
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
dog = Animal('lily', 2)
訪問屬性和方法
Python中屬性和方法都可以直接訪問
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
dog = Animal('lily', 2)
print(dog.age)
print(dog.name)
dog.run()
給屬性添加默認值
Python可以給屬性設定默認值,這樣在初始化時就不用再傳入引數了,
class Animal:
def __init__(self, age):
self.name = 'Lily'
self.age = age
def run(self):
print(self.name + " is running")
修改屬性的值
Pyhton可以有兩種方法來修改屬性的值,首先可以通過直接訪問修改屬性值,
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
dog = Animal('lily', 2)
dog.name = 'Harry'
dog.age = 3
print(dog.age)
print(dog.name)
dog.run()
其結果如下圖所示

還可以通過方法來更改屬性值,類似于Java中的setter,
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
def update_name(self, name):
self.name = name
Dog = Animal('Harry', 2)
Dog.update_name('Lily')
Dog.run()
繼承父類
Python中也可以繼承,只不過沒有使用extends關鍵字,而是直接使用括號,其中
super().__init__(name, age)將子類與父類聯系到了一起,
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
class Dog(Animal):
def __init__(self, name, age, leg):
super().__init__(name, age)
self.leg = 4
Harry = Dog("Harry", 2, 4)
print(Harry.leg)
重寫方法
Python中重寫方法比較簡單,如果子類中有與父類同名的函式,子類的實體呼叫函式時直接呼叫子類的函式,
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def run(self):
print(self.name + " is running")
def update_name(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, age, leg):
super().__init__(name, age)
self.leg = 4
def run(self):
print("Dog is running")
Harry = Dog("Harry", 2, 4)
Harry.run()
最后
點贊就是最大的支持,更多文章和資料可以關注微信公眾號QStack,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/224268.html
標籤:python
