你可以在没有使用装饰器的元类的情况下完成它.这种方式有点清楚IMO:

def apply_defaults(cls):

defaults = {

'default_value1':True,

'default_value2':True,

'default_value3':True,

}

for name, value in defaults.items():

setattr(cls, name, some_complex_init_function(value, ...))

return cls

@apply_defaults

class Settings(object):

pass

在Python 2.6之前,类装饰器不可用.所以你可以写:

class Settings(object):

pass

Settings = apply_defaults(Settings)

在旧版本的python中.

在提供的示例中,apply_defaults是可重用的……好吧,除了默认值在装饰器的主体中是硬编码的:)如果您只有一个案例,您甚至可以将代码简化为:

defaults = {

'default_value1':True,

'default_value2':True,

'default_value3':True,

}

class Settings(object):

"""Your implementation goes here as usual"""

for name, value in defaults.items():

setattr(Settings, name, some_complex_init_function(value, ...))

这是可能的,因为类(在类型意义上)是Python中的对象本身.

python动态创建对象属性_python – 动态创建类属性相关推荐

  1. python在子类中添加新的属性_python - 如何创建类属性?

    python - 如何创建类属性? 在python中,我可以使用@classmethod装饰器向类添加方法. 是否有类似的装饰器向类中添加属性? 我可以更好地展示我在说什么. class Exampl ...

  2. python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续

    上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...

  3. python实例属性与类属性_Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法...

    1. 类的创建并实例化 类的定义:在Python中,类通过class 关键字定义.按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的.下面是一个 ...

  4. Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法

    1. 类的创建并实例化 类的定义:在Python中,类通过 class 关键字定义.按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的.下面是一 ...

  5. Python之路-面向对象继承和多态类属性和实例属性类方法和静态方法

    一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-& ...

  6. python 常数怎么表达_Python的常数类

    我在看这个问题的答案:是否可以在枚举内定义类常量? 最让我感兴趣的是伊桑·弗曼的回答中不断出现的问题. class Constant: def __init__(self, value): self. ...

  7. 一个类的实例是另一个类的属性python_Python中的类属性和实例属性引发的一个坑...

    问题 今天在项目中遇到了个奇怪的问题,实例的一个时间属性并没有根据时间变化而变化,分析之后恍然大悟,总结下分享给大家.大家先看一段代码: import datetime import time cla ...

  8. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  9. python内置属性类_Python内置类属性,元类研究

    Python内置类属性 我觉得一切都是对象,对象和元类对象,类对象其实都是一样的,我在最后进行了证明,但是只能证明一半,最后由于元类的父类是type,他可以阻挡对object属性的访问,告终 __di ...

  10. python内置类属性_python常用内建属性大全

    在python中创建一个类,它不仅有我们自定义的属性和方法,还有与生俱来的一些属性和方法,我们叫它内建属性. 下面是类常用内建属性列表. __init__ 负责一个类实例化中的初始化操作 __new_ ...

最新文章

  1. 吴恩达机器学习笔记21-正则化线性回归(Regularized Linear Regression)
  2. AI Studio下C语言编程:一道简单的C语言作业题目
  3. ATO/MTO类机械制造业特点以及ERP需求分析(三)
  4. 图解C++虚函数 虚函数表
  5. JVM调优:G1垃圾回收器
  6. 初试Spring Boot:构建第一个Web程序
  7. day1---流程控制语句的四种基本格式
  8. 如何复制网页不让复制的文字
  9. 【Mybatis】Mybatis三大组件之StatementHandler
  10. 计算机操作系统(第四版)课后习题答案西电版
  11. linux启动tongweb命令,TongWeb安装配置--Linux
  12. idea背景颜色修改
  13. 使用screw一键生成数据库文档
  14. 【Flink】Flink SQL 读取 CSV 文件
  15. ThreadLocalMap里弱引用
  16. [nk] 2022牛客寒假算法基础集训营1 补题|题解
  17. 2021免费领取微软onedrive云盘1T空间
  18. Autofill 实践
  19. 《离散数学》每章内容及其重点梳理
  20. python 提取pdf格式电子发票并改名

热门文章

  1. 为了离去的纪念——google
  2. 因财务造假,贾跃亭被罚 2.41 亿元;华为徐直军重申不造成:但将推子品牌汽车;Gradle 7.0 发布|极客头条...
  3. 量子计算还没搞懂,光子计算又要来统治世界?
  4. 你被限流了吗?| 图解+代码
  5. 互联网为什么需要“黑客”?
  6. 从 Ops 到 NoOps,阿里文娱智能运维的关键:自动化应用容量管理
  7. 基础Git操作与GitHub协作吐血整理,收好!| 原力计划
  8. 什么程度才算精通 Linux?
  9. 任正非:鸿蒙不用于手机;IBM 340 亿美元红帽收购案完成;Firefox 68.0 发布 | 极客头条...
  10. 少林寺步入 5G 时代!