Python 在类的另一个方法中使用了类的属性
我有一个提供元组列表(self.path)的类Laby,还有一个创建项的类项 我正在使用random.sample构建一个方法,其中项目是随机放置的。我想使用laby类中的列表,而不是set_position方法中的属性my_list 这是我的唇:Python 在类的另一个方法中使用了类的属性,python,python-3.x,Python,Python 3.x,我有一个提供元组列表(self.path)的类Laby,还有一个创建项的类项 我正在使用random.sample构建一个方法,其中项目是随机放置的。我想使用laby类中的列表,而不是set_position方法中的属性my_list 这是我的唇: class Laby: def __init__(self): self.paths = [] # it received some data from another function.. inside a list i
class Laby:
def __init__(self):
self.paths = [] # it received some data from another function.. inside a list is created of tuples
Random pos: [(2, 4)] Name: Object
这是我的物品类别
class Item:
# add item to path / randomize pos /
def __init__(self, title):
self.title = title
self.position = (0,0)
def set_position(self):
my_liste = [(0, 1),(2,4),(4,2),] #instead of my list I want to use the path attribute from Laby
self.position = random.sample(my_liste, 1)
item1 = Item('Object')
item1.set_position()
print('Random pos: ', item1.position , 'Name: ',item1.title)
根据我对您问题的理解,我提出以下代码:
import random
class Laby(object):
def __init__(self):
self.paths = [(0, 1),(2,4),(4,2)]
class Item(Laby):
# add item to path / randomize pos /
def __init__(self, title):
self.title = title
self.position = (0,0)
def set_position(self):
super(Item, self).__init__()
self.position = random.sample(self.paths, 1)
item1 = Item('Object')
item1.set_position()
print('Random pos: ', item1.position , 'Name: ',item1.title)
根据我对您问题的理解,我提出以下代码:
import random
class Laby(object):
def __init__(self):
self.paths = [(0, 1),(2,4),(4,2)]
class Item(Laby):
# add item to path / randomize pos /
def __init__(self, title):
self.title = title
self.position = (0,0)
def set_position(self):
super(Item, self).__init__()
self.position = random.sample(self.paths, 1)
item1 = Item('Object')
item1.set_position()
print('Random pos: ', item1.position , 'Name: ',item1.title)
我不这么认为,这是你想要的还是不想要的 如果我错了,请帮助我在评论中找到答案 您可以将
Loby
实例传递给set\u position
方法(如果此方法可以接受参数)
随机导入
拉比班:
定义初始化(自):
self.path=[]
def set_路径(自身,路径):
self.path=路径
def get_路径(自身):
返回自我路径
类别项目:
定义初始(自我,标题):
self.title=标题
self.position=(0,0)
def设置位置(自身、实验室):
my_liste=laby.get_路径()
self.position=random.sample(我的列表,1)
路径=[(0,1),(2,4),(4,2),]
#初始化laby
laby1=Laby()
标签1.设置路径(路径)
item1=项目('对象')
项目1.设置位置(标签1)
打印('Random pos:',item1.position,'Name:',item1.title)
输出:
class Laby:
def __init__(self):
self.paths = [] # it received some data from another function.. inside a list is created of tuples
Random pos: [(2, 4)] Name: Object
我不这么认为,这是你想要的还是不想要的 如果我错了,请帮助我在评论中找到答案 您可以将
Loby
实例传递给set\u position
方法(如果此方法可以接受参数)
随机导入
拉比班:
定义初始化(自):
self.path=[]
def set_路径(自身,路径):
self.path=路径
def get_路径(自身):
返回自我路径
类别项目:
定义初始(自我,标题):
self.title=标题
self.position=(0,0)
def设置位置(自身、实验室):
my_liste=laby.get_路径()
self.position=random.sample(我的列表,1)
路径=[(0,1),(2,4),(4,2),]
#初始化laby
laby1=Laby()
标签1.设置路径(路径)
item1=项目('对象')
项目1.设置位置(标签1)
打印('Random pos:',item1.position,'Name:',item1.title)
输出:
class Laby:
def __init__(self):
self.paths = [] # it received some data from another function.. inside a list is created of tuples
Random pos: [(2, 4)] Name: Object
set_position可以将Laby的一个实例作为参数,并从中获取列表?而set_position会将laby作为参数吗?set_position可以将laby的一个实例作为参数并从中获取列表?而set_位置将以laby为参数?