微信公衆號:碼農充電站prohtml
我的主頁:https://codeshellme.github.iopython
代碼能借用就借用。git
—— Tom Duffgithub
目錄shell
編程可分爲面向過程編程
和面向對象編程
,它們是兩種不一樣的編程方式,固然背後的思惟方式也是不一樣的。面向過程編程是一種傳統的編程方式,面向對象編程是一個更高級的編程方式。編程
面向過程編程(POP
)的重點在於過程
二字。設計模式
面向過程比較好理解,就是按照人們一般的思惟方式,在作一件事情的時候,將這件事情劃分爲多個步驟,一步一步來作。微信
面向過程編程,就是在進行一個項目時,將這個項目分爲多個小的步驟,一個步驟就是一個過程,將這些過程所有組織起來,就造成了完整的項目。數據結構
C 語言是典型的面向過程編程語言編程語言
好比,咱們能夠將我要去北京
這件事情分爲如下四個步驟:
這裏的每一個步驟至關於一個過程,咱們將這些過程
封裝成函數
,而後,從前到後將這些函數
組織起來,就完成了我要去北京
這件事情。
咱們將這個過程用簡單的代碼實現以下,將該代碼保存在to_beijing.py
文件中:
#! /usr/bin/env python3 def to_high_station(): print('我到了高鐵站') def buy_rail_tickets(): print('我買了高鐵票') def geton_high_rail(): print('我坐上了高鐵') def to_beijing(): print('我到了北京') if __name__ == '__main__': to_high_station() buy_rail_tickets() geton_high_rail() to_beijing()
在控制檯執行命令,以下:
$ python3 to_beijing.py 我到了高鐵站 我買了高鐵票 我坐上了高鐵 我到了北京
面向對象思想
面向對象編程(OOP
)的重點在與對象
二字,主要的編程思想是圍繞對象
展開。
在思考一個項目的時候,將項目中的重要點/關鍵點
都設計成一個個的類
,每一個類承擔着不一樣的工做,不一樣的功能被概括到不一樣的類中。而後,由類產生出對象,這些對象之間的相互做用,最終組成了一個完整的項目。
類與對象
面向對象編程中的兩個很是重要概念是類
與對象
,類
也是代碼複用的一種機制。
前面咱們講到過,
函數
和模塊
都是代碼複用的機制。
類
表明一類有着相同特徵
事物,是一個抽象的概念。由同一個類產生的對象,有着相同的特性。好比人類
都會行走,會使用工具,須要呼吸和喝水,這都是人類的共性。
對象
由類
產生,是一個類的實例
,建立對象的過程,叫作類的實例化
。對象是具體的,而不是抽象的。同一類的不一樣對象,也有不一樣的屬性。好比人類
,有不一樣的性別,姓名和年齡等,這都是人類的不一樣屬性。
設計模式
是對面向對象編程
的寶貴經驗的概括總結,讓咱們能夠更方便的運用面向對象
的思想來進行編程工做。
面嚮對象語言
Java 語言是徹底的面向對象
編程語言,由於全部的步驟都在類
中進行。
C++ 語言是半面向對象
編程語言,它被稱爲帶類的 C
,即支持面向過程編程,又支持面向對象編程。
Python 語言是一門腳本語言
,以簡單優雅
爲設計理念,便可以面向過程編程,也能夠面向對象編程,但不像C++ 語言那樣有太多的複雜枯燥的概念,Python 語言更注重實用性。
面向對象三大特徵
封裝
,繼承
和多態
是面向對象的三大特徵,這三種特徵都是面向對象
編程語言自身提供的機制,可讓咱們更方便的進行面向對象程序設計:
繼承
也是多態
的必要條件。形態
,多態是面向對象編程中,一個很是強大的特性。面向對象編程
咱們仍然以我要去北京
這件事來講明,用面向對象編程
是如何實現的。
面向對象編程的重點在於類的設計
,如何將一個大的項目,拆分爲不一樣的,必要的類。類的功能是單一的,而不是將不一樣的功能糅雜到一個類中。
首先,咱們須要設計出一個類
,好比類名
叫做SomeOne
,這個類
至少須要有四項功能:
咱們須要將這四項功能,寫成四個方法
,放在類SomeOne
中,代碼以下:
#! /usr/bin/env python3 # 定義一個類 class SomeOne: # 構造函數 def __init__(self, name): self.name = name def to_high_station(self): print('%s 到了高鐵站' % self.name) def buy_rail_tickets(self): print('%s 買了高鐵票' % self.name) def geton_high_rail(self): print('%s 坐上了高鐵' % self.name) def to_beijing(self): print('%s 到了北京' % self.name) if __name__ == '__main__': # 建立一個類的對象 i = SomeOne('小明') i.to_high_station() i.buy_rail_tickets() i.geton_high_rail() i.to_beijing()
將該代碼寫在文件SomeOne.py
中,在控制檯執行命令,以下:
$ python3 SomeOne.py 小明 到了高鐵站 小明 買了高鐵票 小明 坐上了高鐵 小明 到了北京
在上面的代碼中,咱們定義了一個名叫SomeOne
的類,其中包含了咱們須要的四個方法,另外還有一個__init__
的方法,這是類的構造函數(後續咱們會詳細講解)。
在__main__
代碼塊中,咱們建立了SomeOne
類的對象i
,並調用了該對象的四個方法。
下一節,咱們來詳細介紹類與對象
。
(完。)
推薦閱讀:
Python 簡明教程 --- 14,Python 數據結構進階
Python 簡明教程 --- 16,Python 高階函數
Python 簡明教程 --- 17,Python 模塊與包
歡迎關注做者公衆號,獲取更多技術乾貨。