如何在python中将一个对象引用到另一个对象?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python中将一个对象引用到另一个对象?相关的知识,希望对你有一定的参考价值。
我还是python编程语言的新手。您能否解释一下如何将一个对象引用到另一个对象。例如,从下面的代码中,我需要向每个对象添加朋友。但是,对象的朋友就是人的对象。
即XYZ有朋友ABC,LMN,其中ABC,LMN是“人对象”。
下面是我的代码示例
class Person:
def __init__(self,name):
self.name = name
def add_friend(self,friend):
pass #friend is a reference to another person object.
if __name__ == '__main__':
l_ist = [Person('XYZ'),Person('ABC'),Person('LMN')]
答案
类似于Person
类如何具有name
属性,您可以给它一个friends
属性,该属性是其朋友的列表。此列表可以存储作为朋友传递的Person
属性。
class Person:
def __init__(self,name):
self.name = name
self.friends = []
def add_friend(self,friend):
self.friends.append(friend) #friend is a reference to another person object.
if __name__ == '__main__':
l_ist = [Person('XYZ'),Person('ABC'),Person('LMN')]
l_ist[0].add_friend(l_ist[1])
l_ist[0].add_friend(l_ist[2])
print(l_ist[0].friends)
print([f.name for f in l_ist[0].friends])
另一答案
class Person:
def __init__(self,name):
self.name = name
self.friends = []
def add_friend(self,friend):
self.friends.append(friend)
if __name__ == '__main__':
l_ist = [Person('XYZ'),Person('ABC'),Person('LMN')]
x = l_ist[0]
x.add_friend(l_ist[1].name)
x.add_friend(l_ist[2].name)
print(x.friends) # PRINT ['ABC', 'LMN']
另一答案
在Python中,所有内容均视为对象。要在您的代码中添加朋友,您可以添加:
l_ist [0] .add_friend(l_ist [1])
要在个人实例本身内部的列表中存储朋友,您可以添加:
self.friends = []
然后在add_friends方法内:
self.friends.add(friend)
以上是关于如何在python中将一个对象引用到另一个对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 TypeScript Angular 2 中将 Json 对象数组映射到另一个普通 json 对象