Python中获取所有实例变量
获取所有实例变量:
-
使用
__dict__
属性获取对象属性和值的字典。 -
使用
dict.keys()
方法获取实例变量的名称。 -
使用
list()
类将结果转换为列表。
class Employee():
def __init__(self, id, name, salary):
self.id = id
self.name = name
self.salary = salary
bob = Employee(1, 'jiyik', 100)
result = list(bob.__dict__.keys())
print(result) # 👉️ ['id', 'name', 'salary']
print(bob.__dict__) # 👉️ {'id': 1, 'name': 'jiyik', 'salary': 100}
我们使用 __dict__
属性来获取对象的所有实例变量。
__dict__
属性返回一个包含对象属性和值的字典。
class Employee():
def __init__(self, id, name, salary):
self.id = id
self.name = name
self.salary = salary
bob = Employee(1, 'jiyik', 100)
# 👇️ {'id': 1, 'name': 'jiyik', 'salary': 100}
print(bob.__dict__)
我们可以使用 dict.keys()
方法仅获取字典的键。
class Employee():
def __init__(self, id, name, salary):
self.id = id
self.name = name
self.salary = salary
bob = Employee(1, 'jiyik', 100)
result = list(bob.__dict__.keys())
print(result) # 👉️ ['id', 'name', 'salary']
dict.keys
方法返回字典键的新视图。
最后一步是使用 list()
类将视图转换为列表。
即使该类具有类变量,它们也不会包含在 __dict__
属性返回的字典中。
class Employee():
cls_id = 'employee'
def __init__(self, id, name, salary):
self.id = id
self.name = name
self.salary = salary
bob = Employee(1, 'jiyik', 100)
result = list(bob.__dict__.keys())
print(result) # ['id', 'name', 'salary']
print(bob.__dict__) # 👉️ {'id': 1, 'name': 'jiyik', 'salary': 100}
或者,我们可以使用 vars()
函数。
使用 vars() 获取所有实例变量
获取所有实例变量:
-
使用
vars()
函数获取对象属性和值的字典。 -
使用
dict.keys()
方法获取实例变量的名称。 -
使用
list()
类将结果转换为列表。
class Employee():
cls_id = 'employee'
def __init__(self, id, name, salary):
self.id = id
self.name = name
self.salary = salary
bob = Employee(1, 'jiyik', 100)
result = list(vars(bob).keys())
print(result) # 👉️ ['id', 'name', 'salary']
# 👇️ {'id': 1, 'name': 'jiyik', 'salary': 100}
print(vars(bob))
vars
函数接受一个对象并返回给定模块、类、实例或任何其他具有 __dict__
属性的对象的 __dict__
属性。
如果提供的对象没有 __dict__
属性,则 vars()
函数会引发 TypeError。
我们选择哪种方法是个人喜好问题。 我会直接使用 __dict__
属性更明确。
相关文章
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串
在 Python Pandas 中使用 str.split 将字符串拆分为两个列表列
发布时间:2024/04/24 浏览次数:1124 分类:Python
-
本教程介绍如何使用 pandas str.split() 函数将字符串拆分为两个列表列。
在 Pandas 中将 Timedelta 转换为 Int
发布时间:2024/04/23 浏览次数:231 分类:Python
-
可以使用 Pandas 中的 dt 属性将 timedelta 转换为整数。
Python 中的 Pandas 插入方法
发布时间:2024/04/23 浏览次数:112 分类:Python
-
本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。
使用 Python 将 Pandas DataFrame 保存为 HTML
发布时间:2024/04/21 浏览次数:106 分类:Python
-
本教程演示如何将 Pandas DataFrame 转换为 Python 中的 HTML 表格。
如何将 Python 字典转换为 Pandas DataFrame
发布时间:2024/04/20 浏览次数:73 分类:Python
-
本教程演示如何将 python 字典转换为 Pandas DataFrame,例如使用 Pandas DataFrame 构造函数或 from_dict 方法。
如何在 Pandas 中将 DataFrame 列转换为日期时间
发布时间:2024/04/20 浏览次数:101 分类:Python
-
本文介绍如何将 Pandas DataFrame 列转换为 Python 日期时间。