Python基礎-面向物件和麵向過程程式設計區別
阿新 • • 發佈:2019-01-10
前言
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'}
結語
資料封裝、繼承和多型是面向物件的三大特點