亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python使用vars輕松獲取對(duì)象屬性

 更新時(shí)間:2024年12月18日 11:25:40   作者:Sitin濤哥  
vars?是?Python?內(nèi)置函數(shù)之一,它主要用于返回對(duì)象的?__dict__?屬性,本文將詳細(xì)介紹?vars?函數(shù)的用法,包括其基本語(yǔ)法、應(yīng)用場(chǎng)景等,有需要的可以參考下

vars 是 Python 內(nèi)置函數(shù)之一,它主要用于返回對(duì)象的 __dict__ 屬性,該屬性是一個(gè)字典,包含了對(duì)象的所有屬性和屬性值。在調(diào)試和檢查對(duì)象狀態(tài)時(shí),vars 函數(shù)非常有用。本文將詳細(xì)介紹 vars 函數(shù)的用法,包括其基本語(yǔ)法、應(yīng)用場(chǎng)景以及具體示例代碼,幫助全面掌握這一實(shí)用工具。

基本語(yǔ)法

vars 函數(shù)的基本語(yǔ)法如下:

vars([object])

object:可選參數(shù)。如果提供了對(duì)象,vars 將返回該對(duì)象的 __dict__ 屬性。如果沒(méi)有提供參數(shù),則返回當(dāng)前作用域的局部變量字典。

示例

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 30)
print(vars(p))

在這個(gè)示例中,vars(p) 返回 Person 對(duì)象 p 的屬性字典:

{'name': 'Alice', 'age': 30}

使用場(chǎng)景

檢查對(duì)象的屬性和方法

vars 函數(shù)可以用來(lái)檢查對(duì)象的所有屬性和方法,特別是在調(diào)試時(shí)非常有用。

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

my_car = Car("Toyota", "Camry", 2020)
print(vars(my_car))

輸出:

{'make': 'Toyota', 'model': 'Camry', 'year': 2020}

修改對(duì)象的屬性

通過(guò) vars 函數(shù)返回的字典,可以直接修改對(duì)象的屬性。

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

my_car = Car("Toyota", "Camry", 2020)
car_dict = vars(my_car)
car_dict['year'] = 2021
print(vars(my_car))

輸出:

{'make': 'Toyota', 'model': 'Camry', 'year': 2021}

獲取當(dāng)前作用域的局部變量

如果不提供參數(shù),vars 函數(shù)將返回當(dāng)前作用域的局部變量字典。

def example():
    a = 10
    b = 20
    print(vars())

example()

輸出:

{'a': 10, 'b': 20}

與 __dict__ 屬性的關(guān)系

vars 函數(shù)實(shí)際上返回的是對(duì)象的 __dict__ 屬性。你也可以直接訪問(wèn) __dict__ 屬性來(lái)獲得同樣的結(jié)果。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 30)
print(p.__dict__)
print(vars(p))

兩者的輸出相同:

{'name': 'Alice', 'age': 30}

具體示例

動(dòng)態(tài)添加屬性

vars 函數(shù)可以用來(lái)動(dòng)態(tài)地向?qū)ο筇砑訉傩浴?/p>

class DynamicAttributes:
    pass

obj = DynamicAttributes()
attributes = vars(obj)
attributes['new_attr'] = 'I am new here!'
print(vars(obj))

輸出:

{'new_attr': 'I am new here!'}

調(diào)試復(fù)雜對(duì)象

在調(diào)試復(fù)雜對(duì)象時(shí),vars 函數(shù)可以幫助我們快速查看對(duì)象的當(dāng)前狀態(tài)。

class Employee:
    def __init__(self, id, name, position):
        self.id = id
        self.name = name
        self.position = position
        self.details = {
            'department': 'Sales',
            'location': 'New York'
        }

emp = Employee(1, 'John Doe', 'Manager')
print(vars(emp))

輸出:

{'id': 1, 'name': 'John Doe', 'position': 'Manager', 'details': {'department': 'Sales', 'location': 'New York'}}

修改屬性字典

通過(guò) vars 函數(shù)返回的字典,不僅可以查看對(duì)象的屬性,還可以直接修改它們。

class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

b = Book('1984', 'George Orwell')
book_dict = vars(b)
book_dict['author'] = 'Orwell'
print(vars(b))

輸出:

{'title': '1984', 'author': 'Orwell'}

與類變量的關(guān)系

vars 函數(shù)返回的字典只包括實(shí)例變量,不包括類變量。

class MyClass:
    class_var = 'Class Variable'
    
    def __init__(self, instance_var):
        self.instance_var = instance_var

obj = MyClass('Instance Variable')
print(vars(obj))  # 只包含實(shí)例變量
print(MyClass.__dict__)  # 包含類變量

輸出:

{'instance_var': 'Instance Variable'}

{'__module__': '__main__', 'class_var': 'Class Variable', '__init__': <function MyClass.__init__ at 0x7f3f9c0d0d30>, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None}

總結(jié)

本文詳細(xì)介紹了Python中vars函數(shù)的用法,包括其基本語(yǔ)法、使用場(chǎng)景和具體示例代碼。vars函數(shù)用于返回對(duì)象的__dict__屬性,幫助查看和修改對(duì)象的所有屬性和屬性值。在調(diào)試和檢查對(duì)象狀態(tài)時(shí),vars函數(shù)非常有用。文章通過(guò)多個(gè)示例展示了如何使用vars函數(shù)檢查對(duì)象的屬性和方法、修改對(duì)象的屬性、動(dòng)態(tài)添加屬性以及獲取當(dāng)前作用域的局部變量。掌握vars函數(shù)的使用,可以在Python編程中更加高效地處理對(duì)象屬性和調(diào)試代碼。

以上就是Python使用vars輕松獲取對(duì)象屬性的詳細(xì)內(nèi)容,更多關(guān)于Python vars獲取對(duì)象屬性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 對(duì)類的成員函數(shù)開(kāi)啟線程的方法

    python 對(duì)類的成員函數(shù)開(kāi)啟線程的方法

    今天小編就為大家分享一篇python 對(duì)類的成員函數(shù)開(kāi)啟線程的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹

    Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹,本文講解了math包的常用函數(shù),同時(shí)給出了random包的使用例子,需要的朋友可以參考下
    2014-11-11
  • Python開(kāi)發(fā)之射擊闖關(guān)游戲的實(shí)現(xiàn)

    Python開(kāi)發(fā)之射擊闖關(guān)游戲的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)射擊闖關(guān)游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的小伙伴可以了解一下
    2023-01-01
  • Python函數(shù)的嵌套詳解

    Python函數(shù)的嵌套詳解

    這篇文章主要為大家介紹了Python函數(shù)的嵌套,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • Pytorch之保存讀取模型實(shí)例

    Pytorch之保存讀取模型實(shí)例

    今天小編就為大家分享一篇Pytorch之保存讀取模型實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python 12306搶火車(chē)票腳本 Python京東搶手機(jī)腳本

    Python 12306搶火車(chē)票腳本 Python京東搶手機(jī)腳本

    這篇文章主要為大家詳細(xì)介紹了Python 12306搶火車(chē)票腳本和Python京東搶手機(jī)腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python實(shí)現(xiàn)矩陣相乘的三種方法小結(jié)

    Python實(shí)現(xiàn)矩陣相乘的三種方法小結(jié)

    今天小編就為大家分享一篇Python實(shí)現(xiàn)矩陣相乘的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • python json.dumps() json.dump()的區(qū)別詳解

    python json.dumps() json.dump()的區(qū)別詳解

    這篇文章主要介紹了python json.dumps() json.dump()的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解numpy.meshgrid()方法使用

    詳解numpy.meshgrid()方法使用

    這篇文章主要介紹了詳解numpy.meshgrid()方法使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python操作yaml說(shuō)明

    python操作yaml說(shuō)明

    這篇文章主要介紹了python操作yaml說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04

最新評(píng)論