1. 程式人生 > 其它 >學習python,從入門到放棄(25)

學習python,從入門到放棄(25)

學習python,從入門到放棄(25)

面向物件程式設計

python中一切皆物件。

Python從設計之初就已經是一門面向物件的語言,正因為如此,在Python中建立一個類和物件是很容易的。

面向過程程式設計的核心思想便是將程式的執行流程化,即分步操作,分步的過程中解決問題。

面向物件程式設計的核心思想就是物件,物件其實就是一個容器將資料與功能整合到一起,只要是符合上述描述的事物都可以稱之為是物件;模組檔案內部含有資料和功能,也可以稱之為面向物件程式設計。

面向過程與面向物件兩者沒有優劣之分,具體要結合實際情況。

類與物件的概念

物件是資料與功能的結合體,而類是用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項。

類與物件的建立

建立類

class ClassName:
   '類的幫助資訊'   #類文件字串
   class_suite  #類體

類的幫助資訊可以通過ClassName.__doc__檢視。

class_suite 由類成員,方法,資料屬性組成。

class ClassName:
   '類的幫助資訊'   #類文件字串
   class_suite  #類體
print(ClassName.__dict__)  # 返回值是一個字典
print(ClassName.__dict__['school'])  # 獲取類中的屬性
print(ClassName.__dict__['choose_course'])  # 獲取類中的屬性
'''類獲取資料和功能有一個簡便的方式>>>:句點符'''
print(ClassName.school)
print(ClassName.choose_course)

建立物件

obj1 = ClassName()  # 類名加括號就是在產生一個物件
print(obj1.__dict__)  # {}

類名加括號便可以產生物件。

物件的例項化

class Student:
    def __init__(self, name, age, gender):
        '''該方法就一個功能>>>:給物件新增獨有的資料'''
        self.name = name  # obj.__dict__['name'] = name
        self.age = age  # obj.__dict__['age'] = age
        self.gender = gender  # obj.__dict__['gender'] = gender

類中的__init__方法會在類產生物件的時候自動執行,類產生物件的具體步驟如下:

  1. 先建立一個沒有獨有資料的空物件 {}
  2. 將空物件和類括號內傳入的資料一併交給__init__執行,__init__的第一個引數就是物件本身,__init__(obj,name,age,gender)
  3. 將建立好的物件自動返回。

繫結方法

在類中定義的函式預設都是繫結給物件使用的,也就是說物件來呼叫時,會自動將物件當做第一個引數傳入。這就是類中所有的函式第一個引數都是 self 的原因。

class Student:
    school = '清華大學'
    # __init__方法不要自己去呼叫 
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def func(self):
        print('%s正在呼叫func方法'%self.name)

    def index(self):
        print('%s正在呼叫index方法'%self.name)

obj1 = Student('jason', 18)
# print(obj1)
obj2 = Student('kevin', 28)