python中什么是面向對象
用面向對象的思維解決問題的重點
當遇到一個需求的時候不用自己去實現(xiàn),如果自己一步步實現(xiàn)那就是面向過程;應該找一個專門做這個事的人來做。
面向對象(object-oriented ;簡稱: OO) 至今還沒有統(tǒng)一的概念 我們可以把它定義為: 按人們 認識客觀世界的系統(tǒng)思維方式,采用基于對象(實體) 的概念建立模型,模擬客觀世界分析、設 計、實現(xiàn)軟件的辦法。
面向對象編程(Object Oriented Programming-OOP) 是一種解決軟件復用的設計和編程方法。 這種方法把軟件系統(tǒng)中相近相似的操作邏輯和操作 應用數(shù)據(jù)、狀態(tài),以類的型式描述出來,以對象實例的形式在軟件系統(tǒng)中復用,以達到提高軟件開發(fā)效率的作用。
類和對象的概念
類
類是對一群具有相同特征或者行為的事物的一個統(tǒng)稱,是抽象的,不能直接使用;
特征被稱為屬性;
行為被稱為方法。
對象
對象是由類創(chuàng)建出來的一個具體存在,可以直接使用;
由哪一個類創(chuàng)建出來的對象,該對象就具有在那一個類中定義的屬性和方法;
類和對象的關系
類就是創(chuàng)建對象的模板,應該先有類,在有對象;
一個類可以創(chuàng)建多個對象,不同對象之間屬性可能各不相同;
類中定義了什么方法,對象中就有什么屬性和方法,不可能少,但可能多,因為對象可以自己在類外增加屬性
定義簡單的類
面向對象是更大的封裝,在一個類中封裝多個方法,這樣通過這個類創(chuàng)建出來的對象,就可以直接調(diào)用這些方法了。
定義只包含方法的類
在python中藥定義一個只包含方法的類,語法格式如下:
class 類名: def 方法1(self, 列表參數(shù)): pass def 方法2(self, 列表參數(shù)): pass
方法的定義格式和之前學習的函數(shù)幾乎一樣;
區(qū)別在于第一個參數(shù)必須是self;
注意,類名的命名規(guī)則要符合大駝峰命名法;
創(chuàng)建對象
當一個類定義完成后,要使用這個類來創(chuàng)建對象,語法格式如下:
對象變量 = 類名()
第一個面向對象程序
class Cat: """定義一個貓類""" def eat(self): print("小貓愛吃魚") def drink(self): print("小貓要喝水") tom = Cat() tom.eat() tom.drink()
知識點擴展:
面向對象設計與面向對象編程的關系
面向對象設計(OOD)不會特別要求面向對象編程語言。事實上,OOD 可以由純結構化語言來實現(xiàn),比如 C,但如果想要構造具備對象性質和特點的數(shù)據(jù)類型,就需要在程序上作更多的努力。當一門語言內(nèi)建 OO 特性,OO 編程開發(fā)就會更加方便高效。另一方面,一門面向對象的語言不一定會強制你寫 OO 方面的程序。例如 C++可以被認為“更好的C”;而 Java,則要求萬物皆類,此外還規(guī)定,一個源文件對應一個類定義。然而,在 Python 中,類和 OOP 都不是日常編程所必需的。盡管它從一開始設計就是面向對象的,并且結構上支持 OOP,但Python 沒有限定或要求你在你的應用中寫 OO 的代碼。OOP 是一門強大的工具,不管你是準備進入,學習,過渡,或是轉向 OOP,都可以任意支配??紤]用 OOD 來工作的一個最重要的原因,在于它直接提供建模和解決現(xiàn)實世界問題和情形的途徑。
到此這篇關于python中什么是面向對象的文章就介紹到這了,更多相關python中什么是面向對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PyTorch CNN實戰(zhàn)之MNIST手寫數(shù)字識別示例
本篇文章主要介紹了PyTorch CNN實戰(zhàn)之MNIST手寫數(shù)字識別示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05python3使用PyMysql連接mysql數(shù)據(jù)庫實例
本篇文章主要介紹了python3使用PyMysql連接mysql數(shù)據(jù)庫實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Python學習之魔法函數(shù)(filter,map,reduce)詳解
這篇文章我們將來學習一下,Python中的三個高級函數(shù):filter()、map()、reduce(),這三個函數(shù)也被稱為魔法函數(shù),感興趣的小伙伴可以了解一下2022-04-04安裝不同版本的tensorflow與models方法實現(xiàn)
這篇文章主要介紹了安裝不同版本的tensorflow與models方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02Python?async+request與async+aiohttp實現(xiàn)異步網(wǎng)絡請求探索
這篇文章主要介紹了Python?async+request與async+aiohttp實現(xiàn)異步網(wǎng)絡請求探索,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-10-10