当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python vars()用法及代码示例


这是Python中的内置函数。
用法:

vars(object)

vars()方法仅采用一个参数,该参数也是可选的。它以对象作为参数,可以是模块,类,实例或具有__dict__属性的任何对象。如果模块,类,实例或任何其他对象具有__dict__属性,则该方法返回__dict__属性。如果对象与属性匹配失败,它将引发TypeError异常。对象(例如模块和实例)具有可更新的__dict__属性,但是其他对象可能对其__dict__属性具有书面限制。当传递空参数时,vars()的行为类似于locals()方法,这意味着本地字典仅对读取有用,因为忽略了本地字典的更新。

# Python program to illustrate 
# working of vars() method in Python 
  
class Geeks:
  def __init__(self, name1 = "Arun", num2 = 46, name3 = "Rishab"):
    self.name1 = name1 
    self.num2 = num2 
    self.name3 = name3 
    
GeeksforGeeks = Geeks() 
print(vars(GeeksforGeeks))

输出:


{'num2':46, 'name1':'Arun', 'name3':'Rishab'}
# Python program to illustrating  
# the use of vars() and locals 
# when no argument is passed and  
# how vars() act as locals(). 
class Geeks(object):
    def __init__(self):
        self.num1 = 20
        self.num2 = "this is returned"
  
    def __repr__(self):
        return "Geeks() is returned"
  
    def loc(self):
        ans = 21
        return locals() 
      
    # Works same as locals() 
    def code(self):
        ans = 10
        return vars() 
  
    def prog(self):
        ans = "this is not printed"
        return vars(self) 
      
  
if __name__ == "__main__":
    obj = Geeks() 
    print (obj.loc()) 
    print (obj.code()) 
    print (obj.prog())

输出:

{'ans':21, 'self':Geeks() is returned}
{'ans':10, 'self':Geeks() is returned}
{'num1':20, 'num2':'this is returned'}


相关用法


注:本文由纯净天空筛选整理自Chinmoy Lenka大神的英文原创作品 vars() function in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。