网站首页 > 开源技术 正文
1.动态属性访问
class TestClass:
def __init__(self):
self.name1 = 'test1'
self.name2 = 'test122'
obj = TestClass()
test_name = 'name1'
print(getattr(obj, test_name)) # 输出: test1 //获取属性名称为name1的值
setattr(obj, test_name, 'new_test123')//重新设置属性名称名称为name1的值
print(getattr(obj, test_name)) # 输出: new_test123
2.动态方法调用
drg源码的实现方式类似这种方式
class Animal(object):
def __init__(self, name, age, init_func_str):
self.name = name
self.age = age
func = getattr(self, init_func_str)
func()
def sleep(self):
print("sleeping...")
class Dog(Animal):
def wangwang(self):
print("旺旺叫")
def sleep(self):
print("仰天睡...")
d = Dog("alex", 23, "sleep")
猜你喜欢
- 2025-07-09 Python内置函数dir()和help()(python内置函数介绍)
- 2025-07-09 python动态添加、删除属性和方法的两种不同模式
- 2025-07-09 Python效率倍增的10个实用代码片段
- 2025-07-09 工具amo的安装与使用指南(amamco tool)
- 2025-07-09 python进阶突破面向对象核心——class
- 2025-07-09 Python 反射机制:动态编程的魔法钥匙!
- 2025-07-09 了解jquery这一篇够了(jquery简介以及优点)
- 2025-07-09 Excel常用技能分享与探讨(5-宏与VBA简介 VBA的文件操作一)
- 2025-07-09 Python学不会来打我(92)python代码调试知识总结(五)属性问题
- 2025-07-09 「融职培训」Web前端学习 第4章 jQuery 2 jQuery常用方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)