我正在python中进行随机排序,我似乎无法在我的scramble方法中使用self.fileName
方法中的变量__init__
。我不确定为什么。
我尝试用fn完全替换'self',但是没有定义self。我尝试使用(self,fn),但是没有什么适合self参数。
class randomsort:
def __init__(self,fn):
self.fileName = fn
print(self.fileName)
def scramble(self):
tempList =[]
for i in self.fileName:
ran = random.randrange(0,len(self.fileName))
tempList.append(self.fileName[ran])
print("-->",tempList)
self.fileName = tempList
exlist = [1,2,3,4,5,6,7,8,9,10]
randomsort.scramble(exlist)
预期输出是列表的未排序版本,但是输出是:
AttributeError:“列表”对象没有属性“ fileName”
答案 0 :(得分:0)
问题是您没有实例化该类(即您没有向__init__
方法发送任何内容,只有scramble
正在接收exlist
),因此{{1} }从未定义。相反,您应该这样做:
self.fileName