浙江11选5走势体彩:什么是Python面向對象?第三講

浙江11选5任3遗漏 www.ehxis.com 今天馬哥教育要跟大家分享的文章是了解什么是浙江11选5任3遗漏?也就是我們面向對象學習的第三節課,面向對象并不好理解,是因為大家習慣了面向過程,所以在這節課中我們將面向對象和面向過程做一個對比,以便大家更好地理解。 Python入門新手和正在Python學習的小伙伴快來看一看吧,希望能夠對大家有所幫助 !

在剛開始編程的時候,從上到下一行行執行的簡單程序容易被理解,即使加上if、while、for之類的語句以及函數調用,也還是不算困難。有了面向對象之后,程序的執行路徑就變得復雜,很容易讓人混亂。不過當你熟悉之后會發現,面向對象是比面向過程更合理的程序設計方式。

今天我用一個例子來展示兩種程序設計方式的不同。

假設我們有一輛汽車,我們知道它的速度(60km/h),以及A、B兩地的距離(100km)。要算出開著這輛車從A地到B地花費的時間。(很像小學數學題是吧?)

面向過程的方法:

speed = 60.0

distance = 100.0

time = distance / speed

print time

面向對象的方法:

class Car:

speed = 0

def drive(self, distance):

time = distance / self.speed

print time

car = Car()

car.speed = 60.0

car.drive(100.0)

看上去似乎面向對象沒有比面向過程更簡單,反而寫了更多行代碼。

但是,如果我們讓題目再稍稍復雜一點。假設我們又有了一輛更好的跑車,它的速度是150km/h,然后我們除了想從A到B,還要從B到C(距離200km)。要求分別知道這兩種車在這兩段路上需要多少時間。

面向過程的方法:

speed1 = 60.0

distance1 = 100.0

time1 = distance1 / speed1

print time1

distance2 = 200.0

time2 = distance2 / speed1

print time2

speed2 = 150.0

time3 = distance1 / speed2

print time3

time4 = distance2 / speed2

print time4

面向對象的方法:

class Car:

speed = 0

def drive(self, distance):

time = distance / self.speed

print time

car1 = Car()

car1.speed = 60.0

car1.drive(100.0)

car1.drive(200.0)

car2 = Car()

car2.speed = 150.0

car2.drive(100.0)

car2.drive(200.0)

對比兩種方法,面向過程把數據和處理數據的計算全部放在一起,當功能復雜之后,就會顯得很混亂,且容易產生很多重復的代碼。而面向對象,把一類數據和處理這類數據的方法封裝在一個類中,讓程序的結構更清晰,不同的功能之間相互獨立。這樣更有利于進行??榛目⒎絞?。

面向對象的水還很深,我們這里只是粗略一瞥。它不再像之前print、while這些概念那么一目了然。但也沒必要對此畏懼,等用多了自然就熟悉了。找一些實例親手練練,會掌握得更快。

恭喜你在Python的道路上又堅持了一天,今天我們用兩道簡單的數學題,對比了面向對象和面向過程,相信大家對面向對象有了更深的一點了解,如果你還是覺得面向過程更適合一點、更簡單一點,那你就讓這道數學題再復雜一些試試?如果還是不太理解面向對象,那就反復敲下代碼、找些案例反復練習下,你會懂得!

以上就是馬哥教育今天為大家分享的關于了解什么是Python面向對象的文章,希望本篇文章能夠對正在 Python學習 和從事Python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網。最后祝愿小伙伴們工作順利!

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code