Python 调用函数时,它告诉我对象(列表)的位置,而不是列表本身?

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 =

为什么它不打印我在newHillclimber返回的列表?这意味着什么:0x7f80407f8e10>处的main.Knapsack对象在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)

在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)