Python 调用函数时,它告诉我对象(列表)的位置,而不是列表本身?
为什么它不打印我在newHillclimber返回的列表?这意味着什么:0x7f80407f8e10>处的main.Knapsack对象在newHillclimber中没有返回列表,而是返回一个生成列表的函数。您也没有在外部代码中调用函数;您只是打印函数本身(这是背包对象上的一个方法)。如果要返回列表,请删除列表周围不必要的Python 调用函数时,它告诉我对象(列表)的位置,而不是列表本身?,python,function,oop,printing,return,Python,Function,Oop,Printing,Return,为什么它不打印我在newHillclimber返回的列表?这意味着什么:0x7f80407f8e10>处的main.Knapsack对象在newHillclimber中没有返回列表,而是返回一个生成列表的函数。您也没有在外部代码中调用函数;您只是打印函数本身(这是背包对象上的一个方法)。如果要返回列表,请删除列表周围不必要的lambda表达式 class Knapsack: def __init__(self, capacity, objects): self.capacity =
lambda
表达式
class Knapsack:
def __init__(self, capacity, objects):
self.capacity = capacity
self.objects = objects
def newHillclimber(self):
return lambda x: [randint(0,1) for x in range(1,11)]
k = Knapsack(20, 10)
print(k.newHillclimber)
在newHillclimber中,您没有返回列表,而是返回一个生成列表的函数。您也没有在外部代码中调用函数;您只是打印函数本身(这是背包对象上的一个方法)。如果要返回列表,请删除列表周围不必要的
lambda
表达式
class Knapsack:
def __init__(self, capacity, objects):
self.capacity = capacity
self.objects = objects
def newHillclimber(self):
return lambda x: [randint(0,1) for x in range(1,11)]
k = Knapsack(20, 10)
print(k.newHillclimber)