python中class 的一行式构造器

简介: 好处:避免类初始化时大量重复的赋值语句   用到了魔法__dict__   # 一行式构造器 class Test(): # 初始化 def __init__(self, a, b, c=2, d=3, e=4, f=5): self.

好处:避免类初始化时大量重复的赋值语句

 

用到了魔法__dict__

 

# 一行式构造器

class Test():
    # 初始化
    def __init__(self, a, b, c=2, d=3, e=4, f=5):
        self.__dict__.update({k:v for k,v in locals().items() if k != 'self'})
    
    # 设置
    def set_option(self, *args, **kwargs):
        self.__dict__.update(dict(zip('abcdef'[:len(args)], args))) # args 必须按__init__的顺序!
        self.__dict__.update(kwargs)
        
    # 别的方法
    def show(self):
        print(self.__dict__)
    
    
t = Test(0, 1)
t.show()
t.set_option(100, 99, 98, 97, f=96, e=95)
t.show()

 

目录
相关文章
|
缓存 C#
C# 操作路径(Path)类方法的使用与解析运行实例
C# 操作路径(Path)类方法的使用与解析运行实例
|
计算机视觉 Python
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
1259 0
|
7月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
1153 58
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
Qwen3:小而强,思深,行速
Qwen3(千问3)于北京时间4月29日凌晨发布,是Qwen系列大型语言模型的最新成员,具备全系列、开源最强、混合推理等特性。它包括两款MoE模型(Qwen3-235B-A22B和Qwen3-30B-A3B)及六个Dense模型,支持119种语言。Qwen3在代码、数学和通用能力测试中超越行业顶尖模型,如DeepSeek-R1和Grok-3。其旗舰版Qwen3-235B-A22B仅需4张H20即可本地部署,成本为DeepSeek-R1的35%。此外,Qwen3原生支持思考模式与非思考模式切换,降低复杂任务门槛,并支持MCP协议优化Agent架构。
6169 1
|
消息中间件 存储 大数据
深入理解操作系统中的进程间通信(IPC)机制
本文旨在探讨操作系统中进程间通信(IPC)的核心机制与其重要性。通过对不同IPC手段如管道、信号、消息队列及共享内存等的详细解析,揭示它们如何高效地促进进程间的信息交换与同步。文章不仅阐述各种IPC技术的实现原理,还探讨了它们在实际系统应用中的场景与优化策略,为系统开发者提供全面而深入的理解。
|
开发者 C# Windows
WPF布局大揭秘:掌握布局技巧,轻松创建响应式用户界面,让你的应用程序更上一层楼!
【8月更文挑战第31天】在现代软件开发中,响应式用户界面至关重要。WPF(Windows Presentation Foundation)作为.NET框架的一部分,提供了丰富的布局控件和机制,便于创建可自动调整的UI。本文介绍WPF布局的基础概念与实现方法,包括`StackPanel`、`DockPanel`、`Grid`等控件的使用,并通过示例代码展示如何构建响应式布局。了解这些技巧有助于开发者优化用户体验,适应不同设备和屏幕尺寸。
536 0
|
存储 Python
文件缓冲区与I/O性能优化
文件缓冲区与I/O性能优化
338 0
|
Web App开发 算法 安全
SharedArrayBuffer
SharedArrayBuffer
476 1
|
数据采集 Web App开发 JavaScript
一日一技:在 Golang 中运行 JavaScript
一日一技:在 Golang 中运行 JavaScript
2633 0
一日一技:在 Golang 中运行 JavaScript