1. 程式人生 > >Python基礎-面向物件和麵向過程程式設計區別

Python基礎-面向物件和麵向過程程式設計區別

前言

OOP,是一種程式設計思想。OOP把物件作為程式的基本單元,一個物件包含了資料和操作資料的函式。哈哈哈,學Python、Java的人表示很開心。

  • 面向過程的程式設計 把計算機程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把大塊函式通過切割成小塊函式來降低系統的複雜度。

  • 面向物件的程式設計 把計算機程式視為一組物件的集合,而每個物件都可以接收其他物件發過來的訊息,並處理這些訊息,計算機程式的執行就是一系列訊息在各個物件之間傳遞。

面向物件程式設計—Object Oriented Programming

Python中,所有資料型別都可以視為物件,當然也可以自定義物件。自定義的物件資料型別就是面向物件中的類(Class)的概念

示例

定義一個Person物件

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 面向物件
class Person():

    # 類似java構造器
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def toString(self):
        print("%s : %s" % (self.name, self.age))

打印出這個物件

下面這個就是典型的java風格

#!/usr/bin/env python3
# -*- coding: utf-8 -*- # 面向物件 from Person import * mPerson = Person("王大錘", "18") mPerson.toString()

報錯處理

‘module’ object is not callable

D:\PythonProject\sustudy>python main.py
Traceback (most recent call last):
  File "main.py", line 6, in <module>
    mPerson = Person("王大錘", "18"
) TypeError: 'module' object is not callable

解決方法

import Person
改成
from Person import *

面向過程程式設計

上述相同效果面向過程寫法如下
示例程式碼

mPeople = {"王大錘":"18", "小美":"16"}
print(mPeople)

執行結果

{'王大錘': '18', '小美': '16'}

結語

資料封裝、繼承和多型是面向物件的三大特點