对于我正在处理的一个项目,我需要将一个字符串(它有ID号(即ID\ 00000001…ID\ 00002032或类似的东西))转换成一个类。 我的意思是,已经有一个类存储了如下值:
class ID_00000001:
name = 'Robert Johnson'
age = 193
facebook_url = 'facebook.com/Robert_johnson'
etc.
我想让它,以便我可以比较这个配置文件与其他人。我的想法是比较(psudo)值:
current_profile_str = 'ID_00000001'
for i in range(len(all_IDs)):
matches = []
num = *converts number into 8 digit str*
cycle_profile_str = 'ID_' + num
*convert current_profile and cycle_profile to class*
if (current_profile.age == cycle_profile.age):
matches.append(cycle_profile_str)
所以我想我在这个上下文中遇到的问题是,我怎样才能把一个字符串转换成一个类呢?你知道吗
您错误地使用了类。你有一个类,一个facebook用户。 可能是这样的:
然后可以为每个用户创建实例。你知道吗
要将类表示为字符串,可以将
__repr__
魔术函数添加到类中:这将导致
另一方面,您可以使用 类方法。这些方法属于类,而不是实例。 这些函数中的第一个参数是类
cls
,而不是实例self
:麦克斯诺的答案可能就是你想要的,但不管怎样。。。你知道吗
如果你真的,真的想从字符串序列中建立一个类(例如,从字符串本身提取变量名),那么你可能想看看元类。你知道吗
http://blog.ionelmc.ro/2015/02/09/understanding-python-metaclasses/
相关问题 更多 >
编程相关推荐