南昌网站开发什么网站可以做设计赚钱的吗

张小明 2026/1/12 4:00:57
南昌网站开发,什么网站可以做设计赚钱的吗,郑州市金水区,河南省工程建设协会网站在 Python 中#xff0c;getattr() 和 setattr() 是内置函数#xff0c;用于动态获取和动态设置对象的属性#xff08;包括方法#xff0c;这个要记住#xff0c;很有用#xff09;#xff0c;是实现反射#xff08;运行时操作对象属性#xff09;的核心工具。一、基础…在 Python 中getattr()和setattr()是内置函数用于动态获取和动态设置对象的属性包括方法这个要记住很有用是实现反射运行时操作对象属性的核心工具。一、基础概念属性对象的变量实例属性 / 类属性或方法都可视为 “属性”。动态操作代码运行时才确定要操作的属性名而非写死在代码里。二、getattr ()动态获取对象属性1. 语法getattr(object, name[, default])参数object要操作的对象实例、类、模块等。name字符串类型要获取的属性名。default可选属性不存在时返回的默认值若省略且属性不存在抛出AttributeError。返回值属性的值如果是方法返回方法对象调用需加()。2. 基础用法示例 1获取实例属性class Person: def __init__(self, name, age): self.name name self.age age p Person(Alice, 25) # 静态获取写死属性名 print(p.name) # Alice # 动态获取属性名用字符串 print(getattr(p, name)) # Alice print(getattr(p, age)) # 25 # 属性不存在时返回默认值 print(getattr(p, gender, 未知)) # 未知 # 省略默认值属性不存在则报错 # print(getattr(p, gender)) # AttributeError: Person object has no attribute gender示例 2获取方法动态调用class Calculator: def add(self, a, b): return a b def multiply(self, a, b): return a * b calc Calculator() # 动态获取方法并调用 methods [add, multiply, add, multiply, add] method_name methods[2] # 运行时确定方法名 # 动态调用对象的方法 print(getattr(calc, method_name)(4, 6))示例 3获取模块属性import math # 动态获取模块的属性 print(getattr(math, pi)) # 3.141592653589793 print(getattr(math, sqrt)(16)) # 4.0三、setattr ()动态设置对象属性1. 语法setattr(object, name, value)参数object要操作的对象。name字符串类型要设置的属性名。value要给属性赋值的内容可以是任意类型数值、字符串、方法、函数等。返回值None。2. 基础用法示例 1设置实例属性class Person: def __init__(self, name): self.name name p Person(Bob) print(p.name) # Bob # 静态设置 p.age 30 print(p.age) # 30 # 动态设置 setattr(p, age, 35) print(p.age) # 35 # 设置不存在的属性自动新增 setattr(p, gender, 男) print(p.gender) # 男示例 2动态绑定方法到对象class Dog: def __init__(self, name): self.name name # 定义一个外部函数 def bark(self): print(f{self.name} 汪汪叫) dog1 Dog(旺财) # 动态绑定方法到实例 setattr(dog1, bark, bark) dog1.bark(dog1) # 旺财 汪汪叫注意实例方法需手动传self # 绑定到类所有实例共享 setattr(Dog, bark, bark) dog2 Dog(来福) dog2.bark() # 来福 汪汪叫四、常见应用场景1. 配置解析动态映射配置项class Config: def __init__(self): self.host 127.0.0.1 self.port 8080 # 模拟配置文件键值对 config_dict {host: localhost, port: 9090, timeout: 30} cfg Config() # 动态将配置字典的键值对设置为对象属性 for key, value in config_dict.items(): setattr(cfg, key, value) print(getattr(cfg, host)) # localhost print(getattr(cfg, timeout)) # 302. 序列化 / 反序列化动态处理对象属性def obj_to_dict(obj): 对象转字典动态获取属性 result {} # 遍历对象的所有属性排除内置属性 for attr in dir(obj): if not attr.startswith(__): result[attr] getattr(obj, attr) return result class User: def __init__(self, id, name): self.id id self.name name user User(1, 张三) print(obj_to_dict(user)) # {id: 1, name: 张三, ...}3. 插件系统动态加载插件方法class PluginManager: def __init__(self): self.plugins {} def load_plugin(self, plugin_name, plugin_func): # 动态注册插件设置属性 setattr(self, fplugin_{plugin_name}, plugin_func) self.plugins[plugin_name] plugin_func def run_plugin(self, plugin_name, *args): # 动态执行插件获取属性 plugin getattr(self, fplugin_{plugin_name}, None) if plugin: return plugin(*args) else: raise ValueError(f插件 {plugin_name} 未找到) # 定义插件函数 def hello_plugin(name): return fHello, {name}! pm PluginManager() pm.load_plugin(hello, hello_plugin) print(pm.run_plugin(hello, Python)) # Hello, Python!五、注意事项属性名必须是字符串getattr()/setattr()的name参数必须是字符串不能直接传变量名。避免覆盖内置属性动态设置属性时不要覆盖对象的内置属性如__init__、__dict__否则可能导致对象异常。p Person(Alice, 25) setattr(p, __init__, lambda self: None) # 不推荐会破坏类的初始化逻辑默认值的使用getattr()建议始终传入default避免属性不存在时抛出异常除非明确希望报错。方法与函数的区别动态获取方法时实例方法需要绑定到对象或手动传self类方法 / 静态方法可直接调用。六、总结函数作用核心场景getattr()动态获取对象属性 / 方法运行时不确定属性名、插件调用setattr()动态设置 / 新增对象属性配置映射、动态绑定方法这两个函数是 Python 反射机制的核心能极大提升代码的灵活性尤其适用于需要动态处理对象属性的场景如框架开发、配置管理、插件系统等。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

阿里云大淘客网站建设手工制作贺卡简单又漂亮

如何快速掌握wflow工作流设计器:企业OA流程的完整教程 【免费下载链接】wflow workflow 工作流设计器,企业OA流程设计。表单流程设计界面操作超级简单!!普通用户也能分分钟上手,不需要专业知识。本设计器支持可视化拖拽…

张小明 2026/1/9 13:33:29 网站建设

合肥政务新区建设局网站天津建设网安全员成绩查询

FaceFusion如何实现跨种族人脸的自然融合? 在数字内容创作日益全球化的今天,一个非裔演员能否“出演”一部东亚背景的电影?一位亚洲虚拟主播是否可以无缝演绎欧美风格的角色表达?这类需求正推动着AI视觉技术向更高层次的跨文化兼容…

张小明 2026/1/10 6:59:40 网站建设

长沙网站设计制作怎么安装百度

Kotaemon滚动更新配置:平稳替换旧版本实例 在企业级 AI 应用日益复杂的今天,一个智能客服系统可能每天要处理数万次用户咨询,任何一次部署中断都可能导致客户流失、声誉受损。想象一下,某银行的虚拟助手正在为用户解答贷款政策&am…

张小明 2026/1/10 6:59:40 网站建设

如何用frontpage做网站网站标题组合

第一章:为什么高手都在用Open-AutoGLM抢电影票?在高并发场景下,如热门电影票开售瞬间,传统手动抢票几乎无法成功。越来越多的技术高手转向自动化工具,其中基于大语言模型驱动的 Open-AutoGLM 成为新宠。它不仅能理解复…

张小明 2026/1/10 6:59:41 网站建设

买个人家的网站绑定自己的域名长春网站策划

ComfyUI 安装与国内加速配置指南 在AI创作工具快速迭代的今天,越来越多设计师和开发者转向可视化节点式工作流,以实现更精细、可复现、可共享的生成逻辑。ComfyUI 正是这一趋势中的佼佼者——它将 Stable Diffusion 的每一步拆解为独立模块,…

张小明 2026/1/10 6:59:43 网站建设

福建城乡建设网站查询微网站建设代理商

Llama-Factory部署指南:本地与云端环境配置全攻略 在大模型应用日益普及的今天,一个现实问题摆在开发者面前:如何用有限的算力资源,高效地让像 LLaMA、Qwen 这样的十亿级参数模型适应特定业务场景?传统微调流程动辄需要…

张小明 2026/1/10 6:59:43 网站建设