python中如何在一个类中调用另一个类的method中的变量?能实现吗?能否帮忙看下我的代码,谢谢!

我写了下面的代码,但是貌似在第二个类调用第一个类的变量时那里出了问题,请问有人知道应该怎样从一个类调用另一个类中方法的变量吗?麻烦了!我的代码:(最终想要获得的结果是两个... 我写了下面的代码,但是貌似在第二个类调用第一个类的变量时那里出了问题,请问有人知道应该怎样从一个类调用另一个类中方法的变量吗?麻烦了!
我的代码:(最终想要获得的结果是两个列表中元素所有组合的可能性)
Name = ['Stella','Kay']
ID = [1,3]

class Student:
def __init__(self):
for name in Name:
for id in ID:
self.name = name
self.id = id

class Students:
def __init__(self):
self.lst = []
self.lst.append("{} of {}".format(Student.__init__(self.id), Student.__init__(self.name)))

def __str__(self):
return '\n'.join(self.lst)

def __repr__(self):
return self.__str__()

s = Students()
print(s)

谢谢!
展开
 我来答
summerhoum
2015-05-14
知道答主
回答量:7
采纳率:0%
帮助的人:12.7万
展开全部
你这个代码很有问题,
1. class Student:
def __init__(self):
for name in Name:
for id in ID:
self.name = name
self.id = id
最终Student得到的是实例有两个变量name和id,他们的值分别是Kay和3,初始化时候的遍历完全没有意义。

2. self.lst.append("{} of {}".format(Student.__init__(self.id), Student.__init__(self.name)))
Student是一个类型,你都没创建一个实例,__init__是实例的初始化函数,使用"__"修饰,是私有函数,不能在外部调用,然后那个里面参数的self是Students的self肯定是访问不到id和name的属性的。

总的来说,代码存在很多的问题。

想要获得的结果是两个列表中元素所有组合的可能性,可以这样实现:
Name = ['Stella','Kay']
ID = [1,3]
result = [(a, b) for a in ID for b in Name]
这样得到的result就是两个列表的元素的组合
追问
恩,我也知道故意用这样复杂的方法去解决简单的问题很无意义T3T,因为最近新学class的知识,必须去练习用类定义解决问题所以才这样。。。谢谢你
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式