相同类名比较多,想用python 循环创建类名,并创建对象使用,遇到一个问题
发布于 2022-09-27 18:40:21
要创建 3 个类分别是:P_a, P_b, P_c
3 个类有相同的方法名是:Na
3 个类对应的方法的内容是: tt = 1, tt = 2 ,tt = 3#
对应的方法的值分别是:P_a.Na = 1 , P_b.Na = 2, P_c.Na = 3
cl = ['a','b','c']
lll = ['1','2','3']
num = len(lll)
class Base():
def Na(self):
tt = ''
return tt
for cls,i in zip(cl,range(num)):
#print(cls,i)
class TEMP(Base):
def Na(self): #因为是参考别人代码,觉得这里用到的是类的方法的重载
#print(cls,i)
tt = lll[i]
return tt
TEMP.__name__ = f'Pa_{cls}'
TEMP.__qualname__ = f'Pa_{cls}'
globals()['Pa_'+cls] = TEMP
f = Pa_a() #f = Pa_b(),f = Pa_c(),不论创建那个对象,f.Na ()的值是3
print (f.Na ()) #打印方法的值永远是 3,要求是P_a.Na = 1 , P_b.Na = 2, P_c.Na = 3
print(type(Pa_a()).name)
#下面代码可以打印出类名,说明创建成功了,只是去匹配方法值的时候存在一些逻辑关系。
print(type(Pa_a()).__name__)
print(type(Pa_b()).__name__)
print(type(Pa_c()).__name__)
关注者
0
被浏览
383
0 个回答
暂无答案,快来添加答案吧
推荐阅读
-
创建一个新文件,文件名包含循环变量,python
2021-01-29 关注 0 浏览86 1答案
-
如何在python中使用循环创建多个类对象?
2021-01-29 关注 0 浏览152 1答案
-
使用类名创建实例并调用构造函数
2022-04-11 关注 0 浏览27 1答案
-
在Python中使用Selenium单击具有相同类名的所有元素
2021-02-01 关注 0 浏览203 1答案
-
使用Python的C API创建对象
2021-01-29 关注 0 浏览102 1答案
-
Python,创建对象
2021-01-29 关注 0 浏览80 1答案
-
Java类中如何创建对象?
2020-12-25 关注 0 浏览86 1答案
-
类是创建对象的模板。
2020-12-25 关注 0 浏览47 1答案
-
通过类名称在Java中动态创建对象并通过使用带有数据的列表来设置类字段
2021-01-30 关注 0 浏览107 1答案
-
在单独的文件中从类创建对象
2021-01-29 关注 0 浏览54 1答案