作者:1q2w3e4r5t0405 | 来源:互联网 | 2023-07-16 03:28
英文文档:
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.
返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表
说明
1. 当函数不接收参数时,其功能和locals函数一样,返回当前作用域内的局部变量。
#不带参数功能和locals函数一样
>>> v1 = vars()
>>> l1 = locals()
>>> v1
{"__name__": "__main__", "__builtins__": , "v1": {...}, "l1": {...}, "__spec__": None, "__doc__": None, "__package__": None, "__loader__": }
>>> l1
{"__name__": "__main__", "__builtins__": , "v1": {...}, "l1": {...}, "__spec__": None, "__doc__": None, "__package__": None, "__loader__": }
2. 当函数接收一个参数时,参数可以是模块、类、类实例,或者定义了__dict__属性的对象。
#作用于模块
>>> import time
>>> vars(time)
{"gmtime": , "tzname": ("Öйú±ê׼ʱ¼ä", "ÖйúÏÄÁîʱ"), "timezone": -28800, "struct_time": , "ctime": , "perf_counter": , "mktime": , "localtime": , "time": , "__package__": "", "altzone": -32400, "clock": , "strptime": , "monotonic": , "__loader__": , "get_clock_info": , "sleep": , "process_time": , "__name__": "time", "_STRUCT_TM_ITEMS": 9, "__spec__": ModuleSpec(name="time", loader=, origin="built-in"), "__doc__": "This module provides various functions to manipulate time values.
There are two standard representations of time. One is the number
of seconds since the Epoch, in UTC (a.k.a. GMT). It may be an integer
or a floating point number (to represent fractions of seconds).
The Epoch is system-defined; on Unix, it is generally January 1st, 1970.
The actual value can be retrieved by calling gmtime(0).
The other representation is a tuple of 9 integers giving local time.
The tuple items are:
year (including century, e.g. 1998)
month (1-12)
day (1-31)
hours (0-23)
minutes (0-59)
seconds (0-59)
weekday (0-6, Monday is 0)
Julian day (day in the year, 1-366)
DST (Daylight Savings Time) flag (-1, 0 or 1)
If the DST flag is 0, the time is given in the regular time zone;
if it is 1, the time is given in the DST time zone;
if it is -1, mktime() should guess based on the date and time.
Variables:
timezone -- difference in seconds between UTC and local standard time
altzone -- difference in seconds between UTC and local DST time
daylight -- whether local time should reflect DST
tzname -- tuple of (standard time zone name, DST time zone name)
Functions:
time() -- return current time in seconds since the Epoch as a float
clock() -- return CPU time since process start as a float
sleep() -- delay for a number of seconds given as a float
gmtime() -- convert seconds since Epoch to UTC tuple
localtime() -- convert seconds since Epoch to local time tuple
asctime() -- convert time tuple to string
ctime() -- convert time in seconds to string
mktime() -- convert local time tuple to seconds since Epoch
strftime() -- convert time tuple to string according to format specification
strptime() -- parse string to time tuple according to format specification
tzset() -- change the local timezone", "strftime": , "asctime": , "daylight": 0}
#作用于类
>>> vars(slice)
mappingproxy({"__ne__": , "__getattribute__": , "__reduce__": , "start": , "indices": , "__ge__": , "stop": , "__eq__": , "step": , "__hash__": None, "__doc__": "slice(stop)
slice(start, stop[, step])
Create a slice object. This is used for extended slicing (e.g. a[0:10:2]).", "__repr__": , "__le__": , "__gt__": , "__new__": , "__lt__": })
#作用于类实例
>>> class A(object):
pass
>>> a.__dict__
{}
>>> vars(a)
{}
>>> a.name = "Kim"
>>> a.__dict__
{"name": "Kim"}
>>> vars(a)
{"name": "Kim"}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程笔记。
原文链接:https://www.cnblogs.com/lincappu/p/8145088.html