精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python內置方法和屬性應用:反射和單例

開發 后端
筆者最近在做項目框架時涉及到一些不是很常用的方法和屬性,在本文中和大家做下分享。

[[330687]]

1. 前言

python除了豐富的第三方庫外,本身也提供了一些內在的方法和底層的一些屬性,大家比較常用的如dict、list、set、min、max、range、sorted等。筆者最近在做項目框架時涉及到一些不是很常用的方法和屬性,在本文中和大家做下分享。

2. 內置方法和函數介紹

  •  enumerate

    如果你需要遍歷可迭代的對象,有需要獲取它的序號,可以用enumerate, 每一個next返回的是一個tuple 

  1. list1 = [1, 2, 3, 4]  
  2.   list2 = [4, 3, 2, 1]  
  3.   for idx, value in enumerate(list1):  
  4.       print(idx, value, list2[idx])  
  5.   # 0 1 4  
  6.   # 1 2 3  
  7.   # 2 3 2  
  8.   # 3 4 1 
  •  zip zip從參數中的多個迭代器取元素組合成一個新的迭代器; 
  1. # 給list加上序號  
  2.   b = [4, 3, 2, 1]  
  3.   for i in zip(range(len(b)), b):  
  4.       print(i)  
  5.   # (0, 4)  
  6.   # (1, 3)  
  7.   # (2, 2)  
  8.   # (3, 1) 
  •  globals():一個描述當前執行過程中全局符號表的字典,可以看出你執行的所有過程
  •  id(object):python對象的唯一標識
  •  staticmethod 類靜態函數注解   
  1. @staticmethod    
  2.     def test():   
  3.         print('this is static method')  
  4.     Foo.test = test  
  5.     Foo.test() 
  •  類的屬性 我們來看下一個類的申明,如下:   
  1. class Foo():  
  2.        """this is test class"""  
  3.        def __init__(self, name):  
  4.            self.name = name   
  5.        def run(self):  
  6.            print('running')  
  1. # 列出類的所有成員和屬性  
  2.  dir(Foo)  
  3.  ['__class__',  
  4.  '__delattr__',  
  5.  '__dict__',  
  6.  '__dir__',  
  7.  '__doc__',  
  8.  '__eq__',  
  9.  '__format__', 
  10.  '__ge__',  
  11.  '__getattribute__',  
  12.  '__gt__',  
  13.  '__hash__',  
  14.  '__init__',  
  15.  '__init_subclass__',  
  16.  '__le__',  
  17.  '__lt__',  
  18.  '__module__',  
  19.  '__ne__',  
  20.  '__new__',  
  21.  '__reduce__',  
  22.  '__reduce_ex__',  
  23.  '__repr__',  
  24.  '__setattr__',  
  25.  '__sizeof__',  
  26.  '__str__',  
  27.  '__subclasshook__',  
  28.  '__weakref__',  
  29.  'run']  
  30.  # 類的注釋  
  31.  Foo.__doc__  
  32.  # 'this is test class'  
  33.  # 類自定義屬性  
  34.  Foo.__dict__  
  35.  mappingproxy({'__module__': '__main__',  
  36.            '__doc__': 'this is test class',  
  37.            '__init__': <function __main__.Foo.__init__(self, name)> 
  38.            'run': <function __main__.Foo.run(self)> 
  39.            '__dict__': <attribute '__dict__' of 'Foo' objects> 
  40.            '__weakref__': <attribute '__weakref__' of 'Foo' objects>})  
  41.  # 類的父類  
  42.  Foo.__base__  
  43.  # 類的名字  
  44.  Foo.__name__ 

 類的實例化和初始化   

  1. # python類先通過__new__實例化,再調用__init__進行初始化類成員  
  2.     foo = Foo('milk') 

類的屬性添加和訪問   

  1. # 類的訪問  
  2.    foo.name  
  3.    foo.run() 
  4.    # 可以通過setattr 動態的添加屬性  
  5.    def method():  
  6.        print("cow")  
  7.    setattr(foo, "type", "cow")  
  8.    setattr(foo, "getcow", method)  
  9.    # cow  
  10.    foo.type  
  11.    foo.getcow()  
  12.    # 動態刪除屬性 delattr  
  13.    delattr(foo, "type")  
  14.    # getattr 獲取成員屬性  
  15.    if hasattr(foo, "run"): # 判斷是否有屬性  
  16.        func = getattr(foo, "run")  
  17.        func() 

3. 單例模式應用

單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。單例模式要求在類的使用過程中只實例化一次,所有對象都共享一個實例。創建的方法是在實例的時候判斷下是否已經實例過了,有則返回實例化過的全局實例。python是如何實現的呢?關鍵是找到實例化的地方,對就是前面說的__new__ 

  1. class Singleton(object):  
  2.     def __new__(cls, *args, **kwargs):  
  3.         if not hasattr(cls, '_instance'):  
  4.             cls._instance = object.__new__(cls)  
  5.         return cls._instance   
  6.     def __init__(self, name):  
  7.         self.name = name  
  8. a = Singleton('name1')  
  9. b = Singleton('name2')  
  10. print(id(a), id(b))  
  11. print(a.name, b.name)  
  12. # 1689352213112 1689352213112  
  13. # name2 name2 

4. 反射應用

反射在許多框架中都有使用到,簡單就是通過類的名稱(字符串)來實例化類。一個典型的場景就是通過配置的方式來動態控制類的執行,比如定時任務的執行,通過維護每個定時任務類的執行時間,在執行時間到的時候,通過反射方式實例化類,執行任務,在java中也非常的常見。

python的實現可以通過上面說的getattr獲取模塊中的類, 通過methodcaller來調用方法。我們來看一個簡單的例子 

  1. import importlib  
  2. from operator import methodcaller  
  3. class Foo(): 
  4.      """this is test class"""  
  5.     def __init__(self, name):  
  6.         self.name = name   
  7.     def run(self, info):  
  8.         print('running %s' % info)  
  9. # 類所在的模塊,默認情況__main__, 可以通過Foo.__dict__ 中'__module__'獲取  
  10. api_module = importlib.import_module('__main__')   
  11. # getattr獲取模塊中的類, 這里Foo是字符串哦  
  12. clazz = getattr(api_module, 'Foo')  
  13. # 實例化  
  14. params = ["milk"]  
  15. instance = clazz(*params)  
  16. # 方法調用, 方法也是字符串methodcaller(方法名, 方法參數)  
  17. task_result = methodcaller("run", "reflection")(instance)  
  18. # running reflection 

5. 總結

本文通過分享了python內置方法和屬性, 并在單例模式和反射中進行應用。希望對你有幫助,歡迎交流@mintel 要點總結如下:

  •  dir下類
  •  查看類自定義屬性__dict__
  •  __new__實例化類,__init__初始化類
  •  getattr 獲取屬性
  •  setattr 設置屬性
  •  記住importlib和methodcaller 

 

責任編輯:龐桂玉 來源: Python中文社區
相關推薦

2020-09-16 12:18:28

GoJava模式

2024-03-18 08:33:16

2020-02-05 21:46:58

工業物聯網IIOT物聯網

2023-09-21 22:19:03

Python編程語言

2023-03-21 15:21:52

開發程序設計static

2023-11-20 14:41:34

Python屬性

2019-07-03 09:46:31

物聯網傳感器機器學習

2021-06-29 11:09:59

區塊鏈區塊鏈技術比特幣

2010-07-06 16:38:47

UML用例建模

2023-10-11 13:13:46

?PostmanJavaScrip

2024-11-06 16:13:00

Python單例模式

2016-03-24 11:26:21

runtime成員變量屬性

2009-09-17 16:45:56

C#數組

2009-08-18 13:41:40

WebBrowser控

2010-06-17 12:32:54

UML用例建模

2010-07-08 16:34:01

UML包圖

2010-06-29 16:43:54

UML用例建模

2010-08-31 15:24:43

CSSpositionabsolute

2024-09-23 16:55:18

C#代碼開發

2025-03-04 08:37:28

點贊
收藏

51CTO技術棧公眾號

久久男人av资源网站| 日韩一区二区三区精品视频| 欧美午夜精品久久久久久蜜| 波多野结衣家庭主妇| 婷婷综合在线| 亚洲国产免费av| 午夜免费看毛片| 超免费在线视频| 久久精品欧美日韩| 91传媒视频在线观看| 九九精品免费视频| 综合激情视频| 在线播放日韩专区| 亚洲精品国产成人av在线| 福利一区和二区| 精品人伦一区二区三区蜜桃网站| 色综合666| 人人妻人人澡人人爽人人欧美一区 | 欧美精选午夜久久久乱码6080| 欧美乱大交xxxxx潮喷l头像| 91.xxx.高清在线| 91在线小视频| www 成人av com| 中文字幕日韩国产| 国产精品普通话对白| 久热精品视频在线观看| 久久亚洲AV无码专区成人国产| 9l亚洲国产成人精品一区二三| 在线观看日韩精品| 久久精品视频16| 人人超在线公开视频| 亚洲国产精品ⅴa在线观看| 国产视频精品网| www.亚洲黄色| 国产一区福利在线| 国产精品一区二区三| 欧美a视频在线观看| 亚洲经典自拍| 久久久久久这里只有精品| 内射一区二区三区| 日韩欧美高清在线播放| 亚洲视频精品在线| 深爱五月激情网| 首页亚洲中字| 亚洲精品久久久一区二区三区| 日韩欧美色视频| 日韩在线电影| 欧美日韩国产bt| 99热这里只有精品在线播放| 日韩电影免费观看高清完整版| 天天综合色天天| 蜜臀av无码一区二区三区| 日本理论片午伦夜理片在线观看| 亚洲欧美激情在线| 午夜啪啪免费视频| 九色porny在线| 亚洲私人影院在线观看| 97精品国产97久久久久久粉红| 理论片午午伦夜理片在线播放| 国产精品国产a级| 中文字幕中文字幕99 | 久久久伦理片| 日韩精品极品在线观看播放免费视频 | 亚洲欧美综合一区| 免费av在线| 国产精品不卡在线| 妞干网这里只有精品| av免费在线观看网站| 一区二区三区精品久久久| 国产精品videossex国产高清| av电影在线地址| 欧美日韩性视频在线| 那种视频在线观看| 小明成人免费视频一区| 欧美日韩国产一级片| 久久精品无码一区二区三区毛片| 日本成人手机在线| 日韩av在线网| 国产又粗又黄又猛| 亚洲色图插插| 9.1国产丝袜在线观看| 亚洲国产av一区二区三区| 日产国产高清一区二区三区 | 日日夜夜精品视频| 亚洲韩国青草视频| 夫妇露脸对白88av| 欧美激情亚洲| 欧美综合在线第二页| 亚洲 小说区 图片区| 国产在线乱码一区二区三区| 国产欧美一区二区三区另类精品| 欧美一区二区少妇| 亚洲私人影院在线观看| 黄色av网址在线播放| 久久久久黄色| 亚洲国产精品推荐| 亚洲欧美精品久久| 亚洲精品社区| 91色中文字幕| 奇米影视888狠狠狠777不卡| 亚洲天堂免费看| 免费看的黄色大片| 国产乱码精品一区二区三区亚洲人| 亚洲成av人乱码色午夜| 性猛交娇小69hd| 一区二区亚洲| 国产欧美日韩中文字幕在线| 天天干天天操av| 综合色中文字幕| 污污视频网站免费观看| jazzjazz国产精品久久| 最近2019中文字幕在线高清| 日韩免费观看一区二区| 国内成人精品2018免费看| 欧美日韩电影一区二区| 丁香花在线观看完整版电影| 欧美色中文字幕| 午夜久久久久久久| 欧美日本一区二区视频在线观看| 国产精品日韩在线播放| 天天干,夜夜操| 亚洲一区在线看| 欧美日韩精品区别| 成人a'v在线播放| 91精品国产精品| 国精品人妻无码一区二区三区喝尿 | 成人做爰66片免费看网站| av在线免费播放网站| 欧美日韩中文字幕在线| 人妻 日韩 欧美 综合 制服| 91tv官网精品成人亚洲| 国产精品自产拍高潮在线观看| 日本视频在线观看一区二区三区| 亚洲午夜激情av| 伊人久久久久久久久| 亚洲影视一区| 91九色综合久久| 日本不卡不卡| 欧美狂野另类xxxxoooo| 国产欧美小视频| 日韩电影在线观看网站| 日本一区不卡| 88xx成人永久免费观看| 亚洲天堂av电影| 国产成人麻豆免费观看| 国产偷v国产偷v亚洲高清| 人妻内射一区二区在线视频 | 国产在线视频卡一卡二| 国产福利视频一区二区三区| 国产制服91一区二区三区制服| 99精品国产九九国产精品| 久久亚洲精品网站| 国产成人精品a视频| 亚洲黄网站在线观看| 手机在线视频一区| 国产一区观看| 国模精品一区二区三区| 综合久久2023| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 性人久久久久| 国产精品www色诱视频| avtt亚洲| 日韩三级av在线播放| 久久久久久久久艹| 91啪九色porn原创视频在线观看| 国产日韩一区二区在线观看| 精品freesex老太交| 国产精品丝袜视频| av在线免费网址| 亚洲娇小xxxx欧美娇小| 91视频在线视频| 国产精品电影院| 欧美成人精品一区二区综合免费| 亚洲三级电影在线观看| 日本精品一区二区| 伊人亚洲精品| 久久琪琪电影院| 黄色在线播放| 日韩色在线观看| 亚洲欧美综合另类| 亚洲欧美偷拍三级| 国产高清成人久久| 奇米亚洲午夜久久精品| 日韩不卡视频一区二区| 亚洲盗摄视频| 国产又爽又黄的激情精品视频 | 亚洲欧美日韩精品永久在线| 欧洲激情一区二区| 久草视频免费在线| 久久久久久久一区| 在线免费黄色小视频| 亚洲综合欧美| eeuss中文| 综合干狼人综合首页| 91精品在线播放| 在线天堂资源| 欧美大成色www永久网站婷| 视频在线不卡| 日韩一区二区麻豆国产| 日本一本在线观看| 亚洲午夜精品网| 精品无码一区二区三区蜜臀| 26uuu亚洲综合色欧美 | 成人av资源网址| 国产精品亚洲美女av网站| 大香伊人中文字幕精品| 中文字幕在线看视频国产欧美在线看完整 | 日韩精品一二三区| 欧美一级片免费播放| 99国产**精品****| 欧美一区激情视频在线观看| 日韩欧美另类中文字幕| 国产在线观看91精品一区| 成人免费看视频网站| 国产69精品久久久久9999| 国内精品久久久久久野外| 国产午夜精品全部视频播放| 狠狠躁夜夜躁av无码中文幕| 欧美精选一区二区| 中文字幕 自拍偷拍| 日韩欧美国产激情| 日韩xxx高潮hd| 一区二区三区**美女毛片| 自拍偷拍第9页| 亚洲国产精品av| 中文字幕成人动漫| 97久久精品人人做人人爽50路| 99国产精品免费视频| 理论片日本一区| 黑森林精品导航| 久久精品首页| www.玖玖玖| 亚洲一区二区伦理| av7777777| 国产精品乱看| 国内自拍在线观看| 99综合精品| 黄色一级视频片| 一区二区三区精品视频在线观看| www.男人天堂网| 欧美色图麻豆| 日本男女交配视频| 国内精品久久久久久久影视蜜臀 | 色大师av一区二区三区| 精品国产99| 日韩免费三级| 欧美3p视频| 影音先锋在线亚洲| 亚洲国产老妈| av片在线免费| 制服诱惑一区二区| 国产又大又硬又粗| 日韩中文字幕91| 亚洲综合日韩欧美| 精品一区二区三区久久| 精品国产午夜福利在线观看| 国产一区二区三区高清播放| 日本人dh亚洲人ⅹxx| eeuss鲁片一区二区三区在线观看 eeuss影院一区二区三区 | 亚洲精品久久久久久下一站 | 国产亚洲午夜高清国产拍精品| 玖玖爱在线观看| 亚洲国产高清aⅴ视频| 黄色激情小视频| 一区二区三区小说| 日本在线小视频| 色哟哟欧美精品| 亚洲香蕉在线视频| 欧美成人vr18sexvr| 天堂网在线观看视频| 亚洲欧洲国产伦综合| 91porn在线观看| 欧美激情久久久久| **欧美日韩在线观看| 91精品视频在线播放| 国产人妖ts一区二区| 欧美一进一出视频| 亚洲最新av| 欧美日韩国产精品激情在线播放| 日本va欧美va欧美va精品| 男插女视频网站| 久久这里都是精品| 小泽玛利亚一区| 婷婷久久综合九色国产成人| 自拍偷拍福利视频| 亚洲精品一区二区三区99| 国产午夜在线视频| 久久99精品视频一区97| 26uuu亚洲电影| 亚洲一区二区三区久久| 夜夜春成人影院| 特级西西444| 久久字幕精品一区| 中国特级黄色片| 中文字幕av在线一区二区三区| 亚洲欧美一区二区三区四区五区| 日韩欧美精品网站| a在线观看免费| 亚洲天堂影视av| 国产第一页在线视频| 国产精品三级美女白浆呻吟| 久久中文资源| 永久免费在线看片视频| 久久男女视频| av天堂一区二区| 国产精品久久久久一区| 好看的av在线| 日韩欧美的一区二区| 在线观看黄av| 欧洲亚洲在线视频| 66精品视频在线观看| 亚洲免费视频一区| 亚洲影视综合| 在线观看免费视频国产| 亚洲人成网站在线| 怡春院在线视频| 亚洲人在线视频| 精品众筹模特私拍视频| 97av影视网在线观看| 精品免费一区二区| www黄色av| 成人黄色av电影| 欧美日韩国产精品综合| 91精品国产aⅴ一区二区| aaa在线免费观看| 国产97在线播放| 亚洲国产网址| 免费成人午夜视频| 99re这里只有精品首页| 国产无套在线观看| 日韩精品一区国产麻豆| av片在线观看免费| 国产在线精品播放| 第一会所亚洲原创| 深夜黄色小视频| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美一级一区二区| 国产日产一区二区三区| 91精品在线观| 欧美福利电影在线观看| 特种兵之深入敌后| 一区二区三区高清不卡| 亚洲黄色小说网| 久久久久久久久久久免费 | 天码人妻一区二区三区在线看| 亚洲第一在线视频| 看黄在线观看| 蜜桃传媒一区二区| 视频精品一区二区| 91久久免费视频| 在线亚洲+欧美+日本专区| 九色视频在线播放| 国产精品色视频| 亚洲综合色网| 欧美激情 亚洲| 欧美日韩亚洲激情| 国产小视频免费在线网址| 国产精品自产拍高潮在线观看| 91成人国产| 人妻激情偷乱频一区二区三区| 好吊成人免视频| 国产69久久| 91精品久久久久久综合乱菊| 欧美成人嫩草网站| 国产伦精品一区三区精东| 黑人狂躁日本妞一区二区三区| 黄色大片在线看| 91深夜福利视频| 一本久道久久综合狠狠爱| 久久中文字幕精品| 日韩网站在线看片你懂的| 51精品在线| 日韩亚洲视频在线| 国产美女精品在线| 国产性xxxx高清| 中文字幕精品在线| 亚洲视频三区| 久草综合在线观看| 亚洲嫩草精品久久| 西西人体44www大胆无码| 国产精品欧美日韩一区二区| 一个色综合网| 波多野结衣一本| 欧美一区午夜精品| 九九色在线视频| 色噜噜狠狠色综合网| 国产精品亚洲成人| 日韩三级一区二区| 精品中文字幕在线| 国产一区二区区别| 韩国三级在线看| 欧美午夜精品免费| 国产在线观看www| 波多野结衣三级在线| 97se亚洲国产综合自在线| 92久久精品一区二区| 66m—66摸成人免费视频| 久久久久久久久久久9不雅视频| 成年人在线观看av| 欧美r级在线观看|