Python面向对象学习 1 (什么是面向对象,面向对象的应用场景,待更新)
生活随笔
收集整理的這篇文章主要介紹了
Python面向对象学习 1 (什么是面向对象,面向对象的应用场景,待更新)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序設計的三種基本結構: 面向對象,面向過程,函數式編程 1,什么是面向對象編程? 面向對象編程是一種編程方式,此編程方式的落地需要使用 “類” 和 “對象” 來實現,所以,面向對象編程其實就是對 “類” 和 “對象” 的使用。 2,什么是類什么是對象,又有什么關系可以說類是一個函數的集合,看看下面的代碼 class 類:#類名稱def 函數1()passdef 函數2()pass obj=類() #創建一個對象,實例化的過程 obj.函數1()#方法 3,什么時候適用面向對象呢? 當我們想寫一個機器上傳文件并執行命令的腳本,我們可以用面向過程的方法,利用函數寫成這個樣子: def upload():#連接服務器#上傳文件#關閉連接pass
def cmd():#連接服務器#執行命令#關閉連接pass
def upload_cmd():#連接服務器#上傳文件#執行命令#關閉連接pass
也可以這樣
def connect():#連接服務器pass def close():#斷開連接pass def upload():connect()#上傳文件 close()pass def cmd():connect()#執行命令 close()pass def upload_cmd():connect()upload()cmd()close()pass感覺好像有點繁瑣,總歸是處理了,那么,如果用面向對象會如何呢?
class SSH(object):def __init__(self,host,port,pwd,username):self.host = host...def connection(self):self.connection = 和服務器創建對象() def close(self):#關閉 self.connection.關閉def upload(self):self.connection() #使用連接上傳文件def cmd(self):self.connection()#使用執行命令 obj = SSH('',host,port....) obj.connection() obj.upload() obj.close()我們把公共的功能,提取出來,還可以創建屬于對象的屬性,其他方法可以使用,這樣不是更好么?
還有一種使用場景,就是類似于模板化,實例代碼如下:
class Role(object):def __init__(self, name, role, weapon, life_value=100, money=15000):self.name = nameself.role = roleself.weapon = weaponself.life_value = life_valueself.money = moneydef shot(self):print("%s shooting..." %self.name)self.__heart = "Die"print(self.__heart)def got_shot(self,):print("%s say : ah...,I got shot..." %self.name)def buy_gun(self, gun_name):print("%s just bought %s" %(self.name,gun_name))self.weapon = gun_name #通過類可以改對象的屬性 r1 = Role('Alex', 'police', 'AK47') #生成一個角色 r2 = Role('Jack', 'terrorist', 'B22') #生成一個角色結論:
?面向對象不會寫,也能實現和滿足功能,就是比較麻煩,而面向對象簡單的就能實現,但是無論我們用什么形式編程,我們都要明確記住一下原則: ? 1.寫重復代碼是非常不好的低級行為 2.你寫的代碼需要經常變更所以需要他可讀性好,易擴展 3. 面向過程編程與OOP的主要區別就是 OOP 使程序更加容易擴展和易更改下一篇文章會將面向對象的語法和特性總結:
Python面向對象學習2(面向對象的語法和特性)
轉載于:https://www.cnblogs.com/sean-yao/p/7712604.html
總結
以上是生活随笔為你收集整理的Python面向对象学习 1 (什么是面向对象,面向对象的应用场景,待更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7开启telnet工具
- 下一篇: 3 Python os 文件和目录