對Python 獲取類的成員變量及臨時變量的方法詳解
利用Python反射機制,從代碼塊中靜態(tài)獲取參數(shù):
co_argcount: 普通參數(shù)的總數(shù),不包括參數(shù)和*參數(shù)。
co_names: 所有的參數(shù)名(包括參數(shù)和*參數(shù))和局部變量名的元組。
co_varnames: 所有的局部變量名的元組。
co_filename: 源代碼所在的文件名。
co_flags: 這是一個數(shù)值,每一個二進制位都包含了特定信息。較關注的是0b100(0x4)和0b1000(0x8),如果co_flags & 0b100 != 0,說明使用了*args參數(shù);如果co_flags & 0b1000 != 0,說明使用了**kwargs參數(shù)。另外,如果co_flags & 0b100000(0x20) != 0,則說明這是一個生成器函數(shù)(generator function)。
class A: def __init__(self, a, b, c): self.x = a self.y = b self.z = c xx = 1 def __str__(self): co = self.__init__.func_code co_names, co_varnames = 'co_names: ', 'co_varnames: ' co_names += ','.join(co.co_names) co_varnames += ','.join(co.co_varnames) return ''.join((co_names, '\n', co_varnames)) if '__main__' == __name__: obj = A(1, 2, 3) print str(obj)
結果:
co_names: x,y,z co_varnames: self,a,b,c,xx
以上這篇對Python 獲取類的成員變量及臨時變量的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python內置模塊ConfigParser實現(xiàn)配置讀寫功能的方法
這篇文章主要介紹了Python內置模塊ConfigParser實現(xiàn)配置讀寫功能的方法,涉及Python使用ConfigParser模塊進行配置讀、寫、修改、刪除等操作的相關實現(xiàn)技巧,需要的朋友可以參考下2018-02-02使用pytorch實現(xiàn)論文中的unet網(wǎng)絡
這篇文章主要介紹了使用pytorch實現(xiàn)論文中的unet網(wǎng)絡,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06重寫django的model下的objects模型管理器方式
這篇文章主要介紹了重寫django的model下的objects模型管理器方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python實現(xiàn)自動收集參數(shù)的技巧分享
在Python中,充分利用函數(shù)參數(shù)的自動收集和靈活處理,是寫出高效且易維護代碼的關鍵之一,本文將深入研究Python函數(shù)參數(shù)的收集方式,感興趣的小伙伴可以了解下2023-12-12