python之SimpleNamespace()使用总结

        SimpleNamespace是Python标准库中的一个类,它提供了一种简单的命名空间(namespace)对象,用于存储和访问属性。

1.模块导入

        要使用SimpleNamespace,首先需要导入types模块:

from types import SimpleNamespace

2.创建        

        创建一个SimpleNamespace对象,并为其添加属性:

#方式一
person = SimpleNamespace(name="Alice", age=25) 

#方式二
person = SimpleNamespace()
person.name = "Alice"
person.age = 25

        现在,person对象就有了name和age属性。

3.访问

        可以通过点号运算符来访问这些属性:

print(person.name)  # 输出: Alice
print(person.age)   # 输出: 25

        也可以像访问普通对象的属性一样,使用getattr函数来获取属性的值:

print(getattr(person, "name"))  # 输出: Alice
print(getattr(person, "age"))   # 输出: 25

 4.修改   

        可以通过直接赋值的方式来修改属性的值:

person.age = 30
print(person.age)   # 输出: 30

        此外,SimpleNamespace还可以通过关键字参数的方式在创建对象时初始化属性:

person = SimpleNamespace(name="Bob", age=35)
print(person.name)  # 输出: Bob
print(person.age)   # 输出: 35

5. 其他高级使用方法

        当使用SimpleNamespace时,还可以通过以下方法进行属性的访问和操作: 

5.1.获取所有属性

        可以使用内置的dir函数来获取SimpleNamespace对象的所有属性,包括方法和特殊属性:

person = SimpleNamespace(name="Alice", age=25)
print(dir(person))

         输出结果会包含name和age属性,以及其他一些特殊属性。

5.2 删除属性

        可以使用del语句删除SimpleNamespace对象的属性:

person = SimpleNamespace(name="Alice", age=25)
print(person.name)  # 输出: Alice
del person.name
print(person.name)  # 抛出 AttributeError: 'SimpleNamespace' object has no attribute 'name'

5.3 检查属性是否存在

        可以使用内置的hasattr函数来检查SimpleNamespace对象是否具有某个属性:

person = SimpleNamespace(name="Alice", age=25)
print(hasattr(person, "name"))  # 输出: True
print(hasattr(person, "gender"))  # 输出: False

 5.4 将字典转换为SimpleNamespace

         可以使用SimpleNamespace的构造函数将字典转换为SimpleNamespace对象

data = {"name": "Alice", "age": 25}
person = SimpleNamespace(**data)
print(person.name)  # 输出: Alice
print(person.age)   # 输出: 25

5.5 将SimpleNamespace转换为字典

        可以使用内置的vars函数将SimpleNamespace对象转换为字典:

person = SimpleNamespace(name="Alice", age=25)
data = vars(person)
print(data)  # 输出: {'name': 'Alice', 'age': 25}

         注意,转换后的字典是可变的,对字典的修改会反映到原始的SimpleNamespace对象上。

5.6 迭代属性 

         可以使用内置的iter函数迭代SimpleNamespace对象的属性名:

person = SimpleNamespace(name="Alice", age=25)
for key in iter(person):    
print(key)
#输出结果将是name和age。

        总结,上述是使用SimpleNamespace的一些常见方法和操作。它提供了一种简单而方便的方式来创建和管理属性,尤其适用于临时存储和访问一些简单的数据。

相关推荐

  1. pythonSimpleNamespace()使用总结

    2024-03-18 20:50:03       23 阅读
  2. python yaml库使用总结

    2024-03-18 20:50:03       19 阅读
  3. pythonenumerate()函数使用总结

    2024-03-18 20:50:03       15 阅读
  4. Python基础总结enumerate介绍使用

    2024-03-18 20:50:03       7 阅读
  5. Python基础总结functools.partial

    2024-03-18 20:50:03       11 阅读
  6. python logging模块的使用总结

    2024-03-18 20:50:03       34 阅读
  7. Python 虚拟环境工具及使用总结

    2024-03-18 20:50:03       28 阅读
  8. C++结构体初始化使用总结

    2024-03-18 20:50:03       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 20:50:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 20:50:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 20:50:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 20:50:03       18 阅读

热门阅读

  1. leetcode 第126场双周赛第二题

    2024-03-18 20:50:03       16 阅读
  2. Python教程:一文了解Python的异常处理知识

    2024-03-18 20:50:03       19 阅读
  3. 【LAMMPS学习】二、LAMMPS安装(1)Linux安装

    2024-03-18 20:50:03       26 阅读
  4. Android Native Thread类分析

    2024-03-18 20:50:03       26 阅读
  5. 蓝桥杯算法

    2024-03-18 20:50:03       18 阅读