Python如何使用vars返回對(duì)象的屬性列表
英文文檔:
vars([object])
Return the __dict__ attribute for a module, class, instance, or any other object with a __dict__ attribute.Objects such as modules and instances have an updateable __dict__ attribute; however, other objects may have write restrictions on their __dict__ attributes (for example, classes use a dictproxy to prevent direct dictionary updates).Without an argument, vars() acts like locals(). Note, the locals dictionary is only useful for reads since updates to the locals dictionary are ignored.
返回當(dāng)前作用域內(nèi)的局部變量和其值組成的字典,或者返回對(duì)象的屬性列表
說明
1. 當(dāng)函數(shù)不接收參數(shù)時(shí),其功能和locals函數(shù)一樣,返回當(dāng)前作用域內(nèi)的局部變量。
#不帶參數(shù)功能和locals函數(shù)一樣>>> v1 = vars()>>> l1 = locals()>>> v1{’__name__’: ’__main__’, ’__builtins__’: <module ’builtins’ (built-in)>, ’v1’: {...}, ’l1’: {...}, ’__spec__’: None, ’__doc__’: None, ’__package__’: None, ’__loader__’: <class ’_frozen_importlib.BuiltinImporter’>}>>> l1{’__name__’: ’__main__’, ’__builtins__’: <module ’builtins’ (built-in)>, ’v1’: {...}, ’l1’: {...}, ’__spec__’: None, ’__doc__’: None, ’__package__’: None, ’__loader__’: <class ’_frozen_importlib.BuiltinImporter’>}
2. 當(dāng)函數(shù)接收一個(gè)參數(shù)時(shí),參數(shù)可以是模塊、類、類實(shí)例,或者定義了__dict__屬性的對(duì)象。
#作用于模塊>>> import time>>> vars(time){’gmtime’: <built-in function gmtime>, ’tzname’: (’Öйú±ê׼ʱ¼ä’, ’ÖйúÏÄÁîʱ’), ’timezone’: -28800, ’struct_time’: <class ’time.struct_time’>, ’ctime’: <built-in function ctime>, ’perf_counter’: <built-in function perf_counter>, ’mktime’: <built-in function mktime>, ’localtime’: <built-in function localtime>, ’time’: <built-in function time>, ’__package__’: ’’, ’altzone’: -32400, ’clock’: <built-in function clock>, ’strptime’: <built-in function strptime>, ’monotonic’: <built-in function monotonic>, ’__loader__’: <class ’_frozen_importlib.BuiltinImporter’>, ’get_clock_info’: <built-in function get_clock_info>, ’sleep’: <built-in function sleep>, ’process_time’: <built-in function process_time>, ’__name__’: ’time’, ’_STRUCT_TM_ITEMS’: 9, ’__spec__’: ModuleSpec(name=’time’, loader=<class ’_frozen_importlib.BuiltinImporter’>, origin=’built-in’), ’__doc__’: ’This module provides various functions to manipulate time values.nnThere are two standard representations of time. One is the numbernof seconds since the Epoch, in UTC (a.k.a. GMT). It may be an integernor a floating point number (to represent fractions of seconds).nThe Epoch is system-defined; on Unix, it is generally January 1st, 1970.nThe actual value can be retrieved by calling gmtime(0).nnThe other representation is a tuple of 9 integers giving local time.nThe tuple items are:n year (including century, e.g. 1998)n month (1-12)n day (1-31)n hours (0-23)n minutes (0-59)n seconds (0-59)n weekday (0-6, Monday is 0)n Julian day (day in the year, 1-366)n DST (Daylight Savings Time) flag (-1, 0 or 1)nIf the DST flag is 0, the time is given in the regular time zone;nif it is 1, the time is given in the DST time zone;nif it is -1, mktime() should guess based on the date and time.nnVariables:nntimezone -- difference in seconds between UTC and local standard timenaltzone -- difference in seconds between UTC and local DST timendaylight -- whether local time should reflect DSTntzname -- tuple of (standard time zone name, DST time zone name)nnFunctions:nntime() -- return current time in seconds since the Epoch as a floatnclock() -- return CPU time since process start as a floatnsleep() -- delay for a number of seconds given as a floatngmtime() -- convert seconds since Epoch to UTC tuplenlocaltime() -- convert seconds since Epoch to local time tuplenasctime() -- convert time tuple to stringnctime() -- convert time in seconds to stringnmktime() -- convert local time tuple to seconds since Epochnstrftime() -- convert time tuple to string according to format specificationnstrptime() -- parse string to time tuple according to format specificationntzset() -- change the local timezone’, ’strftime’: <built-in function strftime>, ’asctime’: <built-in function asctime>, ’daylight’: 0}#作用于類>>> vars(slice)mappingproxy({’__ne__’: <slot wrapper ’__ne__’ of ’slice’ objects>, ’__getattribute__’: <slot wrapper ’__getattribute__’ of ’slice’ objects>, ’__reduce__’: <method ’__reduce__’ of ’slice’ objects>, ’start’: <member ’start’ of ’slice’ objects>, ’indices’: <method ’indices’ of ’slice’ objects>, ’__ge__’: <slot wrapper ’__ge__’ of ’slice’ objects>, ’stop’: <member ’stop’ of ’slice’ objects>, ’__eq__’: <slot wrapper ’__eq__’ of ’slice’ objects>, ’step’: <member ’step’ of ’slice’ objects>, ’__hash__’: None, ’__doc__’: ’slice(stop)nslice(start, stop[, step])nnCreate a slice object. This is used for extended slicing (e.g. a[0:10:2]).’, ’__repr__’: <slot wrapper ’__repr__’ of ’slice’ objects>, ’__le__’: <slot wrapper ’__le__’ of ’slice’ objects>, ’__gt__’: <slot wrapper ’__gt__’ of ’slice’ objects>, ’__new__’: <built-in method __new__ of type object at 0x6A91B420>, ’__lt__’: <slot wrapper ’__lt__’ of ’slice’ objects>})#作用于類實(shí)例>>> class A(object): pass>>> a.__dict__{}>>> vars(a){}>>> a.name = ’Kim’>>> a.__dict__{’name’: ’Kim’}>>> vars(a){’name’: ’Kim’}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JAMon(Java Application Monitor)備忘記2. js的一些潛在規(guī)則使用分析3. JDBC連接數(shù)據(jù)庫經(jīng)驗(yàn)集萃4. Python基于pyjnius庫實(shí)現(xiàn)訪問java類5. NetCore 配置Swagger的詳細(xì)代碼6. ASP.Net MVC利用NPOI導(dǎo)入導(dǎo)出Excel的示例代碼7. Python PyQt5中彈出子窗口解決子窗口一閃而過的問題8. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例9. 如何用 Python 制作一個(gè)迷宮游戲10. django 獲取字段最大值,最新的記錄操作
