日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python內(nèi)置方法和屬性應(yīng)用:反射和單例(推薦)

瀏覽:31日期:2022-07-20 13:36:03

1. 前言

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

2. 內(nèi)置方法和函數(shù)介紹

enumerate

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

list1 = [1, 2, 3, 4] list2 = [4, 3, 2, 1] for idx, value in enumerate(list1): print(idx, value, list2[idx]) # 0 1 4 # 1 2 3 # 2 3 2 # 3 4 1

zip zip從參數(shù)中的多個迭代器取元素組合成一個新的迭代器;

# 給list加上序號 b = [4, 3, 2, 1] for i in zip(range(len(b)), b): print(i) # (0, 4) # (1, 3) # (2, 2) # (3, 1) globals():一個描述當(dāng)前執(zhí)行過程中全局符號表的字典,可以看出你執(zhí)行的所有過程 id(object):python對象的唯一標(biāo)識 staticmethod 類靜態(tài)函數(shù)注解

@staticmethod def test(): print(’this is static method’) Foo.test = test Foo.test()

類的屬性 我們來看下一個類的申明,如下:

class Foo(): '''this is test class''' def __init__(self, name): self.name = name def run(self): print(’running’)

# 列出類的所有成員和屬性 dir(Foo) [’__class__’, ’__delattr__’, ’__dict__’, ’__dir__’, ’__doc__’, ’__eq__’, ’__format__’, ’__ge__’, ’__getattribute__’, ’__gt__’, ’__hash__’, ’__init__’, ’__init_subclass__’, ’__le__’, ’__lt__’, ’__module__’, ’__ne__’, ’__new__’, ’__reduce__’, ’__reduce_ex__’, ’__repr__’, ’__setattr__’, ’__sizeof__’, ’__str__’, ’__subclasshook__’, ’__weakref__’, ’run’] # 類的注釋 Foo.__doc__ # ’this is test class’ # 類自定義屬性 Foo.__dict__ mappingproxy({’__module__’: ’__main__’, ’__doc__’: ’this is test class’, ’__init__’: <function __main__.Foo.__init__(self, name)>, ’run’: <function __main__.Foo.run(self)>, ’__dict__’: <attribute ’__dict__’ of ’Foo’ objects>, ’__weakref__’: <attribute ’__weakref__’ of ’Foo’ objects>}) # 類的父類 Foo.__base__ # 類的名字 Foo.__name__

類的實(shí)例化和初始化

# python類先通過__new__實(shí)例化,再調(diào)用__init__進(jìn)行初始化類成員 foo = Foo(’milk’)

類的屬性添加和訪問

# 類的訪問 foo.name foo.run() # 可以通過setattr 動態(tài)的添加屬性 def method(): print('cow') setattr(foo, 'type', 'cow') setattr(foo, 'getcow', method) # cow foo.type foo.getcow() # 動態(tài)刪除屬性 delattr delattr(foo, 'type') # getattr 獲取成員屬性 if hasattr(foo, 'run'): # 判斷是否有屬性 func = getattr(foo, 'run') func()

3. 單例模式應(yīng)用

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

class Singleton(object): def __new__(cls, *args, **kwargs): if not hasattr(cls, ’_instance’): cls._instance = object.__new__(cls) return cls._instance def __init__(self, name): self.name = name a = Singleton(’name1’) b = Singleton(’name2’) print(id(a), id(b)) print(a.name, b.name) # 1689352213112 1689352213112 # name2 name2

4. 反射應(yīng)用

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

python的實(shí)現(xiàn)可以通過上面說的getattr獲取模塊中的類, 通過methodcaller來調(diào)用方法。我們來看一個簡單的例子

import importlib from operator import methodcaller class Foo(): '''this is test class''' def __init__(self, name): self.name = name def run(self, info): print(’running %s’ % info) # 類所在的模塊,默認(rèn)情況__main__, 可以通過Foo.__dict__ 中’__module__’獲取 api_module = importlib.import_module(’__main__’) # getattr獲取模塊中的類, 這里Foo是字符串哦 clazz = getattr(api_module, ’Foo’) # 實(shí)例化 params = ['milk'] instance = clazz(*params) # 方法調(diào)用, 方法也是字符串methodcaller(方法名, 方法參數(shù)) task_result = methodcaller('run', 'reflection')(instance) # running reflection

5. 總結(jié)

本文通過分享了python內(nèi)置方法和屬性, 并在單例模式和反射中進(jìn)行應(yīng)用。希望對你有幫助,歡迎交流@mintel 要點(diǎn)總結(jié)如下:

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

到此這篇關(guān)于Python內(nèi)置方法和屬性應(yīng)用:反射和單例的文章就介紹到這了,更多相關(guān)Python內(nèi)置方法和屬性內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
青青青国产精品| 精品中文字幕一区二区三区av| 91久久国产| 麻豆精品蜜桃| 1000部精品久久久久久久久| 亚洲一本视频| 欧美日韩国产高清| 亚洲少妇自拍| 男女男精品视频网| 亚洲午夜久久| 亚洲精品日本| 国产乱码精品一区二区三区四区 | 精品久久网站| 国产精品毛片久久| 98精品视频| 久久久久国产精品一区二区| 999久久久国产精品| 欧美一级精品| 久久xxxx| 日韩精品一区二区三区免费视频| 日韩高清国产一区在线| 国产精品qvod| 在线手机中文字幕| 久久国产欧美| 亚洲综合精品四区| 国产亚洲精品美女久久| 国产在线一区不卡| 久久一区二区三区电影| 美女国产精品| 国产欧美日韩一区二区三区四区 | 91九色精品国产一区二区| 91久久午夜| 日韩精品五月天| 久久精品国产免费| 久久精品国产亚洲夜色av网站 | 岛国av在线网站| 九色精品91| 日韩二区在线观看| 日韩av有码| 亚洲一区免费| 欧美激情aⅴ一区二区三区 | 97精品资源在线观看| 精品日本视频| 狠狠爱成人网| 国产精品va视频| 亚洲二区三区不卡| 国产精品草草| 伊人久久婷婷| 久久中文欧美| 国产亚洲在线| 国产精品一站二站| 日韩精品不卡一区二区| 99视频精品| 精品视频91| 鲁大师影院一区二区三区| 久久精品国产免费| 香蕉成人久久| 国产成人精品一区二区三区视频 | 高清日韩欧美| 亚洲欧美日本国产专区一区| 欧美激情91| 蜜桃伊人久久| 天堂中文在线播放| 日韩二区三区四区| 欧美~级网站不卡| 久久99影视| 久久福利影视| 亚洲精品福利电影| 欧美色综合网| 国产亚洲一区在线| 97人人精品| 久久精品xxxxx| 亚洲免费网址| 日韩精品看片| 国产探花一区| 在线视频免费在线观看一区二区| 久久中文在线| 亚洲欧洲av| 欧美在线影院| 裤袜国产欧美精品一区| 日本免费在线视频不卡一不卡二| 一区二区小说| 国产一区二区三区四区五区传媒| 日本不卡在线视频| 欧美肉体xxxx裸体137大胆| 国产精品久久久久久模特| 99国产精品久久久久久久成人热| 国产精品久久观看| 国产精品三级| 一二三区精品| 精品在线91| 香蕉成人av| 成人在线视频免费| 国产精品chinese| 日韩影片在线观看| 久久亚洲一区| 激情综合自拍| 92国产精品| 国内揄拍国内精品久久| 国产精品日韩精品中文字幕| 日韩精品欧美成人高清一区二区| 欧美日韩少妇| 99久久久久国产精品| 国产中文在线播放| 天堂va蜜桃一区二区三区| 久久久国产亚洲精品| 91亚洲国产高清| 免费在线亚洲欧美| 国产欧美日韩精品高清二区综合区 | 日韩视频一区| 丁香婷婷久久| 精品精品99| 黄色欧美在线| 国产成人精品亚洲线观看 | 欧美日韩国产观看视频| 精品美女久久| 精品国产一级| 黄色精品视频| 国产一区一一区高清不卡| 美女毛片一区二区三区四区最新中文字幕亚洲 | 婷婷综合网站| 欧美精品一区二区三区精品| 久久中文字幕av| 91精品精品| 亚洲精品网址| 久久国产精品久久久久久电车 | 国产精品乱战久久久| 久久99久久久精品欧美| 精品一区二区三区中文字幕视频| 国产精品任我爽爆在线播放| 国产精品va| 首页国产精品| 日韩欧美精品综合| 国产h片在线观看| 国产精品成久久久久| 久久久久久一区二区| 蜜臀国产一区| 亚洲一级网站| 首页亚洲欧美制服丝腿| 久久精品系列| 国产精品原创| 欧美亚洲国产激情| 国产视频一区在线观看一区免费| 在线一区二区三区视频| 青草国产精品| 久久a爱视频| 日本久久成人网| 亚洲一区二区动漫| 最新国产精品久久久| 国产无遮挡裸体免费久久| 精品一区二区三区视频在线播放| zzzwww在线看片免费| 欧美日韩在线网站| 中文字幕亚洲影视| 国产福利亚洲| 成人片免费看| 在线一区视频| 日韩精品一区二区三区中文| 国产精品久久久久久久久免费高清| 久久精品国产亚洲一区二区三区| 久久久国产精品一区二区中文| 国产农村妇女精品一二区| 日韩av网站在线观看| 久久精品伊人| 亚洲手机视频| 日本午夜免费一区二区| 正在播放日韩精品| 日韩在线a电影| 国产精品hd| 国产精品av久久久久久麻豆网| 亚洲ab电影| 中文字幕色婷婷在线视频| 午夜亚洲福利在线老司机| 国产精品亚洲综合久久| 日韩精品免费一区二区三区| 亚洲日韩中文字幕一区| 粉嫩av一区二区三区四区五区| 亚洲电影在线一区二区三区| 日韩中文av| 亚洲电影有码| 久久国产人妖系列| 久久精品亚洲人成影院| 日韩精品视频一区二区三区| 色偷偷偷在线视频播放| 日韩中文字幕| 91精品精品| 国产亚洲高清在线观看| 不卡中文字幕| 久久在线91| 蜜臀av一区二区在线免费观看 | 日韩av中文字幕一区| 日韩三区免费| 91精品美女| 蜜臀av免费一区二区三区| 欧美一级全黄| 91精品观看| 色综合五月天| 日韩va亚洲va欧美va久久| 欧美精品羞羞答答| 国内自拍视频一区二区三区|