最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Python反射 & 單例模式

 更新時間:2019年03月21日 14:43:48   作者:初釋衷年  
這篇文章主要介紹了Python反射 & 單例模式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

反射

什么是反射?

  - 反射主要是指程序可以訪問、檢測和修改它本身狀態(tài)或行為的一種能力(自?。?/p>

  面向?qū)ο笾械姆瓷?/p>

  - 通過字符串的形式來操作(獲取、檢查、增加、刪除)對象中的成員

  - python中的一切事物都是對象(都可以使用反射)

  四個可以實現(xiàn)自省的函數(shù):

  - getattr()   獲取屬性

  - hasattr()  判斷對象中是或否擁有特定的值

  - setattr()   設(shè)置屬性

  - delattr(obj,'gender')  刪除屬性

class Info:
 
   def __init__(self,name,age,gender):
     self.name = name
     self.age = age
     self.gender = gender
   def show(self):
     return '%s - %s' %(self.name,self.age)
 
obj = Info('alex','20','男')
 
b = 'name'
print(obj.__dict__[b])
print(obj.__dict__['name'])
 
#getattr()
inp = input('請輸入想要獲取的內(nèi)容:')
v = getattr(obj,inp)
print(v)
 
func = getattr(obj,'show')
v = func()
print(v)
 
#hasattr()
print(hasattr(obj,'name'))
 
#setattr()
setattr(obj,'k1','v1')
 
#delattr(obj,'gender')
obj.gender # 此時報錯,Info類中的gender對象已被刪除

操作類對象:

class Info(object):
  staticField = "Hello World!"
 
  def __init__(self):
    self.name = 'mike'
 
  def func(self):
    return 'func'
 
  @staticmethod
  def bar():
    return 'bar'
 
print(getattr(Info, 'staticField'))
print(getattr(Info, 'func'))  # 返回函數(shù)的內(nèi)存地址
print(getattr(Info, 'bar'))  # 返回函數(shù)的內(nèi)存地址
 

單例模式

什么是單例模式?

  - 單例模式(Singleton Pattern)是一種常用的軟件設(shè)計模式,該模式的主要目的是確保某一個類只有一個實例存在。

  - 當(dāng)你希望在整個系統(tǒng)中,某個類只能出現(xiàn)一個實例時,單例對象就能派上用場。

  - 單例,永遠(yuǎn)使用同一份實例(對象)。單例模式能夠有效地節(jié)約內(nèi)存資源。

  實現(xiàn)單例模式:

class Info:
  __v = None
 
  @classmethod
  def get_instance(cls):
    if cls.__v:
      return cls.__v
    else:
      cls.__v = Info()
      return cls.__v
 
obj1 = Info.get_instance()
print(obj1)
obj2 = Info.get_instance()
print(obj2)

以上所述是小編給大家介紹的Python反射 & 單例模式詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • pandas中df.rename()的具體使用

    pandas中df.rename()的具體使用

    本文主要介紹了pandas中df.rename()的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • pycharm安裝opencv-python報錯的解決

    pycharm安裝opencv-python報錯的解決

    本文主要介紹了pycharm安裝opencv-python報錯的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python輸入錯誤后刪除的方法

    python輸入錯誤后刪除的方法

    在本篇文章里小編給讀者們整理了關(guān)于python輸入錯誤后刪除的方法以及相關(guān)知識點,有興趣的朋友們學(xué)習(xí)下。
    2019-10-10
  • 使用Python腳本將絕對url替換為相對url的教程

    使用Python腳本將絕對url替換為相對url的教程

    這篇文章主要介紹了使用Python腳本將絕對url替換為相對url的教程,腳本代碼非常簡單,需要的朋友可以參考下
    2015-04-04
  • python?datetime模塊詳解

    python?datetime模塊詳解

    Python中常用于時間的模塊有time、datetime 和 calendar,顧名思義 time 是表示時間(時、分、秒、毫秒)等,calendar 是表示日歷時間的,本章先討論 datetime 模塊,需要的朋友可以參考下
    2022-06-06
  • Django 實現(xiàn)前端圖片壓縮功能的方法

    Django 實現(xiàn)前端圖片壓縮功能的方法

    今天小編就為大家分享一篇Django 實現(xiàn)前端圖片壓縮功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python檢測代理ip是否有效問題

    python檢測代理ip是否有效問題

    這篇文章主要介紹了python檢測代理ip是否有效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python 處理圖片像素點的實例

    Python 處理圖片像素點的實例

    今天小編就為大家分享一篇Python 處理圖片像素點的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python實現(xiàn)修改固定模式的字符串內(nèi)容操作示例

    python實現(xiàn)修改固定模式的字符串內(nèi)容操作示例

    這篇文章主要介紹了python實現(xiàn)修改固定模式的字符串內(nèi)容操作,結(jié)合實例形式詳細(xì)分析了Python修改固定模式字符串原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • python爬蟲獲取百度首頁內(nèi)容教學(xué)

    python爬蟲獲取百度首頁內(nèi)容教學(xué)

    在本篇內(nèi)容里小編給大家分享了關(guān)于python爬蟲獲取百度首頁內(nèi)容教學(xué),需要的朋友們可以跟著學(xué)習(xí)下。
    2018-12-12

最新評論

永吉县| 屯留县| 辽中县| 湖口县| 峨眉山市| 义马市| 玛曲县| 军事| 五大连池市| 锡林郭勒盟| 临泉县| 晴隆县| 昌乐县| 赫章县| 南雄市| 应用必备| 小金县| 塘沽区| 乌拉特中旗| 宁远县| 颍上县| 建德市| 子长县| 永胜县| 蚌埠市| 海门市| 莎车县| 乌恰县| 益阳市| 司法| 淮北市| 寿宁县| 洛隆县| 芮城县| 二手房| 恩施市| 马山县| 新疆| 江达县| 洛阳市| 桐柏县|